我想将我的程序添加到自动运行。我知道它有一个注册表项,不需要管理员权限来编辑它。
它是
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.
我正在使用 unicode 图片。我编写了一个用于将程序添加到 autorn 的函数。
void AddToRegAutorun(const std::wstring& _valueName, const std::wstring& _path)
{
HKEY hkey;
if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, /*KEY_SET_VALUE*//*MAXIMUM_ALLOWED*/KEY_ALL_ACCESS, &hkey) == ERROR_SUCCESS)
RegSetValueEx(hkey, _valueName.c_str(), 0, REG_SZ, (LPBYTE)_path.c_str(), ((DWORD)wcslen(_path.c_str()) + 1)* sizeof(wchar_t));
RegCloseKey(hkey);
}
RegOpenKeyEx()
返回ERROR_SUCCESS.
但RegSetValueEx()
返回5
(ERROR_ACCESS_DENIED).
有什么建议么?