要实现开机自动运行,要用到两个操作注册表的函数:RegOpenKeyEx()和RegSetValueEx()。前者用于打开注册表的键,后者则为打开的键设置键值。
函数的详细用法可以查msdn哈~~
示例代码如下:
BOOL SetAutoRun(HWND hwnd)//开机自动运行
{
//得到程序本身路径
TCHAR sthPath[MAX_PATH];
GetModuleFileName(NULL, sthPath, MAX_PATH);
//MessageBox(NULL, sthPath, "path", MB_OK);
TCHAR str[MAX_PATH];
HKEY hRegKey;
BOOL bResult;
lstrcpy(str, "Software\\Microsoft\\Windows\\CurrentVersion\\Run");
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, str, 0, KEY_ALL_ACCESS, &hRegKey) != ERROR_SUCCESS)
bResult = FALSE;
else
{
if(RegSetValueEx(hRegKey, str, 0, REG_SZ, (BYTE*)sthPath, strlen(sthPath) + 1) != ERROR_SUCCESS)
bResult = FALSE;
else
{
//MessageBox(NULL, "OK", "", MB_OK);
bResult = TRUE;
RegCloseKey(hRegKey);
}
}
return bResult;
}
本文介绍了一种通过修改注册表实现程序开机自动启动的方法。利用 RegOpenKeyEx() 和 RegSetValueEx() 函数来实现这一功能。示例代码展示了如何获取程序路径并将其写入注册表,以便系统启动时自动加载指定的应用程序。
1096

被折叠的 条评论
为什么被折叠?



