Программный перезапуск компа

Marek 14.06.2004 - 19:46 | Кто подскажет почему Restart, Shutdown и т.д. посредством API отлично работали в WIN9X, а в Win2000 и WinXP не пашут...
halted 1 - 14.06.2004 - 19:52 | Элементарно HANDLE TokenHandle; if(!OpenProcessToken( GetCurrentProcess(), // handle to process TOKEN_ADJUST_PRIVILEGES, // desired access to process &TokenHandle // pointer to handle of open access token )) { Еррор ! } TOKEN_PRIVILEGES NewState; if(!LookupPrivilegeValue( NULL, // address of string specifying the system SE_SHUTDOWN_NAME, // address of string specifying the privilege &NewState.Privileges[0].Luid // address of locally unique identifier )) { Еррор ! } NewState.PrivilegeCount = 1; NewState.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if(!AdjustTokenPrivileges( TokenHandle, // handle to token that contains privileges false, // flag for disabling all privileges &NewState, // pointer to new privilege information 0, // size, in bytes, of the PreviousState buffer NULL, // receives original state of changed privileges NULL // receives required size of the PreviousState buffer )) { Еррор ! } CloseHandle(TokenHandle); if(!ExitWindowsEx(EWX_SHUTDOWN | EWX_POWEROFF,0)) { Еррор ! }

>>