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

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

Как перезагрузить ЛЮБУЮ винду??? [D7, Win2k]


Batoon ©   (2004-03-18 12:16:00) 

Подскажите пожалуйста!!!
Как перезагрузить Win98/me/w2k/xp/2003
Смотрел разные ФАКИ, но, например W2K не перезагружается
Exitwindowsex на нем не работает
Мож че другое есть???


Kalmykov Sergei   (2004-03-23 21:21:00) [1]

Работает в XP, а в NT не знаю, по идее должно работать.
function WinExit(flags: integer): boolean;
function SetPrivilege(privilegeName: string; enable: 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(privilegeName), tp.Privileges[0].LUID)then begin
   if enable 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;
begin
if SetPrivilege('SeShutdownPrivilege', true) then begin ExitWindowsEx(flags, 1);
 SetPrivilege('SeShutdownPrivilege', false)
end;
end;
вызываем так
WinExit(EWX_SHUTDOWN or EWX_POWEROFF);- выключаем комп
WinExit(EWX_REBOOT);- перезагружаем комп

Удачи.


Gero   (2004-03-22 21:42:00) [2]

Reset. Перезагрузит любую винду и не только.


KADAN   (2004-03-22 19:29:00) [3]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=15-988621105


Александр1   (2004-03-22 18:24:00) [4]

Нужно с начало определить тип windows, и подобрать к ней свой способ перезагрузки.


Batoon   (2004-03-18 13:28:00) [5]

THANKS большое!!!


BiN   (2004-03-18 12:42:00) [6]

в W2k для этого нужно включить привилегию SeShutdownPrivilege


Наверх

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