Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выкл. комп-ра [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо