Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизКак перезагрузить ЛЮБУЮ винду??? Найти похожие ветки
← →
Batoon © (2004-03-18 12:16) [0]Подскажите пожалуйста!!!
Как перезагрузить Win98/me/w2k/xp/2003
Смотрел разные ФАКИ, но, например W2K не перезагружается
Exitwindowsex на нем не работает
Мож че другое есть???
← →
Batoon © (2004-03-18 12:16) [0]Подскажите пожалуйста!!!
Как перезагрузить Win98/me/w2k/xp/2003
Смотрел разные ФАКИ, но, например W2K не перезагружается
Exitwindowsex на нем не работает
Мож че другое есть???
← →
BiN © (2004-03-18 12:42) [1]в W2k для этого нужно включить привилегию SeShutdownPrivilege
← →
BiN © (2004-03-18 12:42) [1]в W2k для этого нужно включить привилегию SeShutdownPrivilege
← →
Batoon © (2004-03-18 13:28) [2]THANKS большое!!!
← →
Batoon © (2004-03-18 13:28) [2]THANKS большое!!!
← →
Александр1 © (2004-03-22 18:24) [3]Нужно с начало определить тип windows, и подобрать к ней свой способ перезагрузки.
← →
Александр1 © (2004-03-22 18:24) [3]Нужно с начало определить тип windows, и подобрать к ней свой способ перезагрузки.
← →
KADAN © (2004-03-22 19:29) [4]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=15-988621105
← →
KADAN © (2004-03-22 19:29) [4]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=15-988621105
← →
Gero © (2004-03-22 21:42) [5]Reset. Перезагрузит любую винду и не только.
← →
Gero © (2004-03-22 21:42) [5]Reset. Перезагрузит любую винду и не только.
← →
Kalmykov Sergei (2004-03-23 21:21) [6]Работает в 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);- перезагружаем комп
Удачи.
← →
Kalmykov Sergei (2004-03-23 21:21) [6]Работает в 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);- перезагружаем комп
Удачи.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c