Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Для этого нам потребуются определённые привелегии:
functionSetPrivilege(aPrivilegeName: string
; aEnabled: boolean): boolean; var
TPPrev, TP: TTokenPrivileges; Token: THandle; dwRetLen: DWord; begin
Result := False
; OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, @Token); TP.PrivilegeCount := 1; if
(LookupPrivilegeValue(nil
, PChar(aPrivilegeName), TP.Privileges[0].LUID)) then
begin
if
(aEnabled) then
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED else
TP.Privileges[0].Attributes := 0; dwRetLen := 0; Result := AdjustTokenPrivileges(Token, False
, TP, SizeOf(TPPrev), TPPrev, dwRetLen); end
; CloseHandle(Token); end
; function
WinExit(iFlags: integer): boolean; // возможные флаги: // EWX_LOGOFF // EWX_REBOOT // EWX_SHUTDOWN begin
Result := True
; if
(SetPrivilege('SeShutdownPrivilege', true
)) then
begin
if
(not
ExitWindowsEx(iFlags, 0)) then
begin
Result := False
; end
; SetPrivilege('SeShutdownPrivilege', False
) end
else
begin
Result := False
; end
; end
;