关闭

程序开机自启动

402人阅读 评论(0) 收藏 举报
分类:

转载自:http://hi.baidu.com/qhh_2008/item/ae72cdc67e769d7088ad9e1c

1、自启动设置

// bAutoStart为true,表示开机自启动,否则开机不自启动
bool CDialogSet::SetAutoStart(bool bAutoStart)
{
 if (bAutoStart)
 {
  //写入注册表,开机自启动
  HKEY hKey;
  //找到系统的启动项
  LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  //打开启动项Key
  long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
  if(lRet == ERROR_SUCCESS)
  {
   char pFileName[MAX_PATH] = {0};
   //得到程序自身的全路径
   DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
   //添加一个子Key,并设置值 // 下面的第二项是应用程序名字(不加后缀.exe)
   lRet = RegSetValueEx(hKey, "Scheduler", 0, REG_SZ, (BYTE *)pFileName, dwRet);

   //关闭注册表
   RegCloseKey(hKey);
   if(lRet != ERROR_SUCCESS)
   {
    AfxMessageBox("系统参数错误,不能随系统启动");
   }
  }
 }
 else
 {
  HKEY hKey;
  LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_READ, &hKey);
  if(lRet == ERROR_SUCCESS)
  {
   lRet = RegDeleteValue(hKey,"Scheduler");
  }
  //关闭注册表
  RegCloseKey(hKey);
 }
 return false;
}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:155752次
    • 积分:2410
    • 等级:
    • 排名:第15947名
    • 原创:75篇
    • 转载:61篇
    • 译文:0篇
    • 评论:7条