Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Не выключается компьютер


Автор: NULL 28.10.2003, 14:57
Пытаюсь програмно выключить комп.
Код

.....
ExitWindows(EWX_SHUTDOWN, NULL);
.....


Так я получаю SE_SHUTDOWN_NAME
Код

....
BOOL SetShutdownPrivelege(HANDLE hProc){
LUID luid;
TOKEN_PRIVILEGES tp;
HANDLE hToken;

if(!OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken)) return FALSE;
if(!LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &luid)){
 CloseHandle(hToken);
 return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
return AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL);
}
....


после этого просто завершается сеанс и все....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)