Code: |
{ **** UBPFD *********** **** >> Power off (не убивает процессы)
Зависимости: Windows Автор: DeMoN-777, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., Санкт-Петербург Copyright: ***************************************************** }
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); |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!