赞助

利用注册表写开机启动程序(转载)

转载:http://blog.csdn.net/qq_23992597/article/details/52210964

    • //这里用的是宽字符,既 wchar_t
      
      if(isStartOpen)
      {
          //开机启动
          HKEY hKey;     
          LPCTSTR lpRun = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; 
          //---------------找到系统的启动项 
          long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
          //-----------打开启动项Key  
          if(lRet == ERROR_SUCCESS) 
          { 
              wchar_t pFileName[MAX_PATH] = {0}; 
              DWORD dwRet = GetModuleFileName(NULL, pFileName, MAX_PATH);
              //----------------得到程序自身的全路径 
              lRet = RegSetValueEx(hKey, L"DeskPro",0,REG_SZ,(BYTE *)pFileName,dwRet*2);
              //----------------添加或者修改注册表项
              RegCloseKey(hKey);
              //----------------关闭注册表
          }
      }    
      else
      {
          //取消卡机启动
          HKEY hKey;     
          LPCTSTR lpRun = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; 
          //---------------找到系统的启动项 
          long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
          if(lRet==ERROR_SUCCESS)
          {
              RegDeleteValue(hKey,L"DeskPro");
              //----------------删除注册表项
              RegCloseKey(hKey);
              //----------------关闭注册表
          }
      }

       

      设置开机启动
        
    • 取消开机启动
        
posted @ 2017-07-13 17:11  车臣  阅读(451)  评论(0编辑  收藏  举报