65,190
社区成员




BOOL stopAutoRun()
{
//删除注册表键,取消启动
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[1024] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileName(NULL, pFileName, 1024);
//添加一个子Key,并设置
lRet = RegDeleteKeyEx(hKey, "NotepadLock", KEY_WOW64_32KEY ,0);
//在这里调试时,lRet 的值是2,查了下,#define ERROR_FILE_NOT_FOUND 2L
//为什么会提示不存在??我用regedit看的都是存在的啊?
//关闭注册表
RegCloseKey(hKey);
if(lRet!= ERROR_SUCCESS )
{ if (lRet == ERROR_ACCESS_DENIED)
::MessageBox(NULL,"操作失败,请以管理员权限重新运行此程序!","错误",0);
else
::MessageBox(NULL,"操作失败,无法取消开机自动运行","错误",0);
return FALSE;
}
return TRUE;
}
::MessageBox(NULL,"打开注册表错误!","错误",0);
return FALSE;
}
lRet = RegDeleteValue(hKey, "NotepadLock");
lRet = RegDeleteKeyEx(hKey, "NotepadLock", KEY_WOW64_32KEY ,0);