添加程序以自动运行而无需管理员权限。 RegSetValueEx()返回5(ERROR_ACCESS_DENIED)

时间:2013-03-05 08:03:54

标签: registry access-denied autorun app-startup admin-rights

我想将我的程序添加到自动运行中。我知道有一个注册表项,它不需要管理员来编辑它。

这是

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. 

我正在使用unicode bild。我写了一个函数,用于将程序添加到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).

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

以管理员身份运行.exe。