//开机启动
bool CreateAutoRun()
{
bool bRet=false;
//添加以下代码
HKEY hKey;
char pFileName[MAX_PATH] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH);
//找到系统的启动项
LPCTSTR lpRun = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0, KEY_WRITE, &hKey);
if(lRet== ERROR_SUCCESS)
{
RegSetValueEx(hKey, _T("Sysassist"), 0,REG_SZ,(const BYTE*)(LPCSTR)pFileName, MAX_PATH);
RegCloseKey(hKey);
bRet=true;
}
return bRet;
}
//取消开机启动
bool DeleteAutoRun()
{
bool bRet=false;
//添加以下代码
HKEY hKey;
char pFileName[MAX_PATH] = {0};
//得到程序自身的全路径
DWORD dwRet = GetModuleFileNameW(NULL, (LPWCH)pFileName, MAX_PATH);
//找到系统的启动项
LPCTSTR lpRun = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
//打开启动项Key
long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0, KEY_WRITE, &hKey);
if(lRet== ERROR_SUCCESS)
{
RegDeleteValue(hKey,_T("Sysassist"));
RegCloseKey(hKey);
bRet=true;
}
return bRet;
}
稍微小改一下,用起来还是很方便的,不过这些注册表项早已被各各安全软件设为必检测的位置了,在正规软件中还是有点用处的