Witam!
W Windows 8.1 jest domyślnie ustawiona opcja że po włączeniu komputera system automatycznie loguje ostatniego użytkownika. Jest to bardzo denerwujące bo w domu jest kilka i zawsze po włączeniu kompa trzeba się wylogować. Wyczytałem że aby to przestawić trzeba zmienić gdzieś w rejestrze jedną wartość. Problem w tym że po każdym uruchomieniu proces logowania Windows automatycznie z powrotem przestawia te ustawienia na te wkurzające (gratuluję debilizmu twórcom windowsa).
Wymyśliłem że napiszę program który będzie to jeszcze raz przestawiał. I tu jest mój problem program w ogóle nie chce edytować rejestru.
Wartość Enabled w kluczu SwicthUser chcę przestawiać na 1 (domyślnie zero)
Oto kod:
#include<windows.h>
#include<iostream>
using namespace std;
void stealth() {
HWND stealth;
AllocConsole();
stealth = FindWindowA("consoleWindowClass", NULL);
ShowWindow(stealth, 0);
}
int main() {
//stealth();
HKEY hkSoftware, hkMicrosoft, hkWindows, hkCurrentVersion, hkAuthentication, hkLogonUI, hkUserSwitch, hkTest;
DWORD value = 1;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_ALL_ACCESS, &hkSoftware);
RegOpenKeyEx(hkSoftware, "Microsoft", 0, KEY_ALL_ACCESS, &hkMicrosoft);
RegOpenKeyEx(hkMicrosoft, "Windows", 0, KEY_ALL_ACCESS, &hkWindows);
RegOpenKeyEx(hkWindows, "CurrentVersion", 0, KEY_ALL_ACCESS, &hkCurrentVersion);
RegOpenKeyEx(hkCurrentVersion, "Authentication", 0, KEY_ALL_ACCESS, &hkAuthentication);
RegOpenKeyEx(hkAuthentication, "LogonUI", 0, KEY_ALL_ACCESS, &hkLogonUI);
RegOpenKeyEx(hkLogonUI, "UserSwitch", 0, KEY_ALL_ACCESS, &hkUserSwitch);
RegSetValueEx(hkUserSwitch, "kurwiszon", 0, REG_DWORD, (const BYTE*)&value, sizeof(value));
RegCloseKey(hkUserSwitch);
return 0;
}
Dlaczego to nie działa?