C++添加注册表项
问题描述:
我在我的CPP代码中添加了当前程序启动时的以下内容。我试图修改代码来为启动添加一个不同的程序,比如说我想添加一个密钥,以便在启动时运行“C:\ mytime.exe”。你能帮我修改代码吗?C++添加注册表项
TCHAR szPath[MAX_PATH];
DWORD pathLen = 0;
pathLen = GetModuleFileName(NULL, szPath, MAX_PATH);
if (pathLen == 0)
{
return -1;
}
HKEY newValue;
if (RegOpenKey(HKEY_CURRENT_USER,
TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),
&newValue) != ERROR_SUCCESS)
{
return -1;
}
DWORD pathLenInBytes = pathLen * sizeof(*szPath);
if (RegSetValueEx(newValue,
TEXT("My Program"),
0,
REG_SZ,
(LPBYTE)szPath,
pathLenInBytes) != ERROR_SUCCESS)
{
RegCloseKey(newValue);
return -1;
}
RegCloseKey(newValue);
return TRUE;
答
只需更换此块的代码:
pathLen = GetModuleFileName(NULL, szPath, MAX_PATH);
if (pathLen == 0)
{
return -1;
}
有了这个:
/* of course, use your own executable - make sure to not overflow the buffer! */
_tcscpy(szPath, _T("C:\\*.exe"));
pathLen = _tcslen(szPath);
+0
谢谢Nik!这正是我所要求的。 – Drek 2013-02-21 18:53:30
你有什么实际试过?这段代码是否工作? – slugonamission 2013-02-21 18:04:12
你为什么不缩进任何东西? – 2013-02-21 18:06:54
您的应用程序是否具有更改该特定注册表项所需的权限? – 2013-02-21 18:26:44