Я пытаюсь добавить значение ("UpdateSvc") в разделе реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Run
с использованием C ++.Используемый код:
bool regWrite(LPCSTR subkey, LPCSTR name, DWORD type, const char * value)
{
HKEY key;
if (RegCreateKeyA(HKEY_CURRENT_USER, subkey, &key) != ERROR_SUCCESS)
return false;
if (RegSetValueExA(key, name, NULL, type, (LPBYTE)value, strlen(value) * sizeof(char) + 1) != ERROR_SUCCESS)
return false;
if (RegCloseKey(key) != ERROR_SUCCESS)
return false;
return true;
}
int main()
{
bool ret;
ret = regWrite("Software\\Microsoft\\Windows\\CurrentVersion\\Run", "UpdateSvc", REG_SZ, "Test");
printf("%d", ret);
getchar();
return 0;
}
Он печатает '1', но я не могу найти значение.Пробная проверка с помощью regedit, а также reg query HKCU\software\microsoft\windows\currentversion\run
(включая /reg:32
и /reg:64
для хорошей меры).
То же самое происходит с
system("reg add HKCU\\software\\microsoft\\windows\\currentversion\\run /v UpdateSvc /t REG_SZ /d Test /f";
(что, я знаю, небезопасно, просто отладка).
Запуск 64-битной Visual Studio с правами администратора в 64-битной Windows 10. Пользователь, под которым я вошел, не является администратором.
Редактировать
@ Инспектабельный решил это.Значение было добавлено под кустом администратора, а не моим, поэтому его не было видно.