Как выключить компьютер с Windows XP?

Для выключения компьютера под управлением Windows XP (и вообще любой ОС из линейки NT) можно воспользоваться следующим кодом:

HANDLE hToken;

TOKEN_PRIVILEGES* NewState;

OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES, &hToken);

NewState = (TOKEN_PRIVILEGES*) malloc (sizeof (TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES));

NewState->PrivilegeCount = 1;

LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME, &NewState->Privileges[0].Luid);

NewState->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges (hToken, FALSE, NewState, NULL, NULL, NULL);

free (NewState);

CloseHandle (hToken);

ExitWindowsEx (EWX_REBOOT, 0);

 
« Предыдущая статья   Следующая статья »