|
|
|
Vypnutí počítače
|
10.01.2010
|
Úvod
Po stisku tlačítka dojde k vypnutí počítače. V tomto případě bez varování!
Prvky
Button1
Kód
procedure TForm1.Button1Click(Sender: TObject);
var
hToken, hProcess: THandle;
tp, prev_tp: TTokenPrivileges;
Len: DWORD;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
hProcess := OpenProcess(PROCESS_ALL_ACCESS, True, GetCurrentProcessID);
try
if not OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then Exit;
finally
CloseHandle(hProcess);
end;
try
if not LookupPrivilegeValue('', 'SeShutdownPrivilege',tp.Privileges[0].Luid) then Exit;
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not AdjustTokenPrivileges(hToken, False, tp, SizeOf(prev_tp),prev_tp, Len) then Exit;
finally
CloseHandle(hToken);
end;
end;
ExitWindowsEx(EWX_SHUTDOWN, 0);
end;
|
|
|