需求:实现程序开机启动。
实现自启动键在注册表中位置
事实上我们要做的只不过是将程序所在的路径写入注册表而已。
实现如下:
BOOL SetAutoRun()
{
TCHAR szPath[MAX_PATH];
TCHAR szRegPath[]=L"SOFTWARE//Microsoft//Windows//CurrentVersion//Run";
TCHAR szKey[]=L"NumLock";
GetModuleFileName(NULL, szPath,MAX_PATH);
//OutputDebugString(szPath);
HKEY hKey;
DWORD dwDisp;
if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, szRegPath,
0, NULL, REG_OPTION_NON_VOLATILE,
KEY_WRITE, NULL, &hKey, &dwDisp))
{
printf("Could not create the registry key.");
return FALSE;
}
if(ERROR_SUCCESS != RegSetValueEx(hKey, szKey,0,REG_SZ, (LPBYTE)szPath, MAX_PATH))
{
MessageBox(NULL,L"Write key value fail",L" ",MB_OK);
return FALSE;
}
return TRUE;
}