程序开机自启动

转载自: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;
}

 

阅读更多
个人分类: VC/MFC 注册表操作
想对作者说点什么? 我来说一句

autoruns 查看删除开机自启动程序

2010年08月14日 137KB 下载

没有更多推荐了,返回首页

不良信息举报

程序开机自启动

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭