![]() |
Computer in den Standbymodus fahren
Wie kann man aus einer Delphi-Anwendung heraus den Computer in den Standbymodus fahren :?:
Es muss nur auf Windows NT-Systemen funktionieren. |
Re: Computer in den Standbymodus fahren
Also ich weiß, dass man es machen kann, aber nichtmehr, wie man es macht. Ich glaube, das hatte was mit der windowseigenen Datei rundll32.exe zu tun hatte. Wenn man diese datei aufruft, kann man den PC runterfahren, in den Standby-Modus versetzen, ausschalten, usw..
Leider weiß ich nicht mehr genau, wie das funktioniert. MfG Binärbaum |
Re: Computer in den Standbymodus fahren
Zitat:
versuchs mal damit:
Delphi-Quellcode:
diese Function hab ich mal irgendwo im Netz gefunden, weisaber nicht mehr wo...
function Power(idx: byte): Boolean;
var TokHandle, ProcHandle: THandle; TokPriv, TokPrivPrev: TTokenPrivileges; RetLen: DWORD; begin Result := False; ProcHandle := OpenProcess(PROCESS_ALL_ACCESS, True, GetCurrentProcessID); try if not OpenProcessToken(ProcHandle, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TokHandle) then Halt(1); finally CloseHandle(ProcHandle); end; try if LookupPrivilegeValue('', 'SeShutdownPrivilege', TokPriv.Privileges[0].Luid) then begin TokPriv.PrivilegeCount := 1; TokPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(TokHandle, False, TokPriv, SizeOf(TokPrivPrev), TokPrivPrev, RetLen); end; finally CloseHandle(TokHandle); end; case idx of 1: Result := ExitWindowsEx(EWX_LOGOFF , 0); // logoff 2: Result := ExitWindowsEx(EWX_REBOOT , 0); // reboot 3: Result := ExitWindowsEx(EWX_SHUTDOWN, 0); // shutdown 4: Result := SetSystemPowerState(True, True); // suspend 5: Result := SetSystemPowerState(False, True); // hibernate end; end; funktioniert bei mir unter XP+SP2 einwandfrei... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz