Power off (не убивает процессы)

Советы » Компьютер » Power off (не убивает процессы)

{ **** 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); 

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com