Power off (не убивает процессы)Delphi , ОС и Железо , КомпьютерPower off (не убивает процессы)
Автор: DeMoN-777 { **** UBPFD *********** by delphibase.endimus.com **** >> Power off (не убивает процессы) Зависимости: Windows Автор: DeMoN-777, DeMoN-777@yandex.ru, Санкт-Петербург Copyright: @ Дата: 21 июня 2002 г. ***************************************************** } procedure ExitWinNT(AShutdown: Boolean); var hToken: THandle; tkp: TTokenPrivileges; ReturnLength, What: Cardinal; begin if AShutdown then What := EWX_SHUTDOWN or EWX_POWEROFF else What := EWX_REBOOT; if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then begin LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid); tkp.PrivilegeCount := 1; tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then ExitWindowsEx(What, 0) end end; Пример использования: ExitWinNT(True); Статья Power off (не убивает процессы) раздела ОС и Железо Компьютер может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |