![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выкл. комп-ра [D2, D3, D4, D5, D6, D7, Win95/98]
V-Isa © (2003-02-12 15:44:00)Как програмно выключить компьютер?
Pakshin A. S. (2003-02-13 10:28:00) [1]procedure Form1.Button1Click(sender: TObject);
begin
Win32Check(ExitWindows(0, 0)); // Выход из системы
Win32Check(ExitWindowsEx(EWX_REBOOT, 0)); // Перезагрузка системы
Win32Check(ExitWindowsEx(EWX_SHUTDOWN, 0)); // Выход и выключение питания
Win32Check(ExitWindowsEx(EWX_LOGOFF, 0)); // Выход из системы и вход под другим именем
end;
Reindeer Moss Eater (2003-02-12 17:11:00) [2]Для всех Win32:
rar a dummy *.dummy -ioff
:)
Андрей Сенченко (2003-02-12 16:03:00) [3]Для W95/98 достаточно
C:\WINDOWS\RUNDLL.EXE user.exe,ExitWindows
Олег (2003-02-12 15:59:00) [4]procedure TfrmMain.ShutDownSystem;
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
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;
AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength);
end;
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;