如何让程序随开机自动启动

 if (/*需要开机启动*/)
 {
  //写入注册表,开机自启动
  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,并设置值 // 下面的"test"是应用程序名字(不加后缀.exe)
   lRet = RegSetValueEx(hKey, "test", 0, REG_SZ, (BYTE *)pFileName, dwRet);

   //关闭注册表
   RegCloseKey(hKey);
   if(lRet != ERROR_SUCCESS)
    AfxMessageBox("系统参数错误,不能随系统启动");
  } 
 }

//如果不想随开机启动,则需要查找注册表项看有没有,如果有的话则需要删除注册表项
 else
 {
  //删除注册表中的开机自启动项
  HKEY   Hkey;  
  DWORD  dwErrorCode;  
  char   Key[40]={0};  
  LPCTSTR lpRun = "Software//Microsoft//Windows//CurrentVersion//Run";
  strcpy(Key,"文件监控");

  dwErrorCode= RegOpenKeyEx(HKEY_LOCAL_MACHINE,lpRun,0,KEY_ALL_ACCESS,&Hkey);
  //查询是否有该键值
  BYTE lpData[256];
  DWORD dwType = REG_SZ;
  DWORD dwNum = 256;
  //查询注册表项值“test”项是否存在
  long lRslt = RegQueryValueEx(Hkey, Key, 0, &dwType, lpData, &dwNum);

//如果查询成功
  if (lRslt == ERROR_SUCCESS)
   dwErrorCode= RegDeleteValue(Hkey,Key);  
  RegCloseKey(Hkey); 
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值