Добавить программу в автозапуск без прав администратора. RegSetValueEx() возвращает 5 (ERROR_ACCESS_DENIED)

Я хочу добавить свою программу в автозапуск. Я знаю, что для него есть раздел реестра, который не требует прав администратора для его редактирования.

Это

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 ответ

Запустите.exe от имени администратора.

Другие вопросы по тегам