Пытаюсь под win7 подправить регистр. Не получается. Думал дело в правах, подправил .manifest, прога стартует с правами админа, все функции при отладке отрабатываются без ошибок. Значение ключа не меняется. В чем трабла не пойму? PHP: RegCreateKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, 0); char buf[512]; strcpy(buf, "explorer.exe "); strcat(buf, "C:\test.exe"); RegSetKeyValueA(hKey, "Shell", 0, REG_SZ, buf, strlen(buf)+1); RegCloseKey(hKey);
Если система x64, то значение запишется в wow6432node. Для того, чтобы писать в основной реестр, нужно вызывать функцию с ключом KEY_WOW64_64KEY.
С этим разобрались, система действительно х64. Тем не менее изменить значение "Shell" ни в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ни в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon не удается. Походу дело не в бобине?