实现软件的自动启动和取消自动启动

5 篇文章 0 订阅
 

自动启动代码:

void CServerApp::SetAutoRun()

{

       HKEY hKey;  

       char* szRegpath = "Software//Microsoft//Windows//CurrentVersion//Run";

       long lRet;

       // 打开注册表

       lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0,

              KEY_ALL_ACCESS, &hKey);

       if (lRet != ERROR_SUCCESS)

       {

              AfxMessageBox("打开自动启动注册表失败!");

              RegCloseKey(hKey);  

              return;  

       }  

   

       // 得到当前文件的路径

       char szFilePath[MAX_PATH];

       DWORD dwRet;

       dwRet = GetModuleFileName(NULL, szFilePath, MAX_PATH);

       if (dwRet == 0)

       {

              AfxMessageBox("得到当前文件路径失败!");

              return;

       }

 

       // 将当前路径增加到该注册表中

       lRet = RegSetValueEx(hKey, "AttendServer", 0, REG_SZ,

              (CONST BYTE*)&szFilePath, strlen(szFilePath) + 1);  

       if (lRet != ERROR_SUCCESS)  

       {

              AfxMessageBox("写入自动启动注册表失败!");

              RegCloseKey(hKey);  

              return;

       }  

       RegCloseKey(hKey);

}

 

取消自动运行代码:

void CServerApp::CancelAutoRun()

{

       HKEY hKey;  

       char* szRegpath = "Software//Microsoft//Windows//CurrentVersion//Run";

       long lRet;

       // 打开注册表

       lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szRegpath, 0,

              KEY_ALL_ACCESS, &hKey);

       if (lRet != ERROR_SUCCESS)

       {

              AfxMessageBox("打开自动启动注册表失败!");

              RegCloseKey(hKey);  

              return;

       }

 

       lRet = RegDeleteValue(hKey, "AttendServer");

       if (lRet != ERROR_SUCCESS)

       {

              AfxMessageBox("删除该软件在自动启动注册表设置失败!");

              RegCloseKey(hKey);

              return;

       }

       RegCloseKey(hKey);  

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值