Форум: "Система";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
Внизwin 2000 Найти похожие ветки
← →
alex16 (2001-12-01 06:12) [0]Как выключить или перезагрузить компьютер в win2000
← →
Tosov (2001-12-01 16:10) [1]Попробуй поискать по этому сайту - может найдешь чего (зря чтоли люди поиск делали) или здесь посмотри (для WinNT/Win2000)
http://delphi.xonix.ru/faq/system/shutdown01.shtml
http://delphi.xonix.ru/faq/system/shutdown02.shtml
← →
Pat (2001-12-02 14:05) [2]Сам не пробовал под 2000, но говорят, что работает...
RUNDLL.EXE user,ExitWindows - выключить
RUNDLL32.EXE shell32.dll,SHExitWindowsEx 2 - перезагрузить
Вызывается как EXE"шник. В 98 и WinME работает (проверено)
Пример:
winexec("rundll.exe user,exitwindows",sw_restore);
← →
AlexKniga (2001-12-02 16:03) [3]SHExitWindowsEx(x); //из shell32.dll
Где x смотри в MSDN ID: Q234216
А также x=-1 перегрузить DeskTop.
В NT незабудь получить привелегии.
(с)DimkaMaslov
if WinNT then begin
ProcessHandle:=GetCurrentProcess;
OpenProcessToken(ProcessHandle, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TokenHandle);
LookupPrivilegeValue(nil, "SeShutdownPrivilege", Luid);
Tkp.PrivilegeCount:=1;
Tkp.Privileges[0].Luid:=Luid;
Tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(TokenHandle, FALSE, Tkp, 0, nil, BufferNeeded);
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c