//添加以下代码
HKEY hKey;
//找到系统的启动项
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey); //win7下
//long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0,KEY_WRITE, &hKey); //xp
if(lRet == ERROR_SUCCESS)
{
char pFileName[MAX_PATH] ={0}; //得到程序自身的全路径
GetModuleFileName(NULL,pFileName,MAX_PATH);
lRet = RegSetValueEx(hKey, "KNTITMS", 0, REG_SZ, (BYTE *)pFileName, strlen(pFileName)+1);
//添加一个子Key,并设置值 // 下面的"test"是写入注册表中的名称
RegCloseKey(hKey); //关闭注册表
if(lRet != ERROR_SUCCESS)
{
AfxMessageBox("系统参数错误,不能完成开机启动设置");
}
else
{
AfxMessageBox("打开开机启动成功");
}
}
删除开机启动项
//添加以下代码
HKEY hKey;
//找到系统的启动项
LPCTSTR lpRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE, &hKey);
//long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0,KEY_WRITE, &hKey);
if(lRet == ERROR_SUCCESS)
{
char pFileName[MAX_PATH] ={0}; //得到程序自身的全路径
GetModuleFileName(NULL,pFileName,MAX_PATH);
lRet = RegSetValueEx(hKey, "KNTITMS", 0, REG_SZ, (BYTE *)pFileName, strlen(pFileName)+1);
//添加一个子Key,并设置值 // 下面的"test"是写入注册表中的名称
RegCloseKey(hKey); //关闭注册表
if(lRet != ERROR_SUCCESS)
{
AfxMessageBox("系统参数错误,不能完成开机启动设置");
}
else
{
AfxMessageBox("打开开机启动成功");
}
}
C++ Windows写开机启动项
最新推荐文章于 2021-05-20 22:09:36 发布