![]() |
Windows komplett herunterfahren
Wie kann man Windows komplett runterfahren und dann den Rechner ausschalten?
Wenn ich die Befehle aus der ![]() Aber ich würde den Rechner gern komplett ausschalten, als ob ich das über das Startmenü gemacht habe. Kann mir vielleicht jemand bei dem Problem helfen? :love: Danke UC |
Re: Windows komplett herunterfahren
Heißt das, wenn du den Rechner übers Startmenü runterfährst, schaltet er sich ab, oder was? Das wäre sehr interessant, denn ob er der Rechner sich abschalten kann oder nicht liegt am Netzteil.
|
Re: Windows komplett herunterfahren
Wenn ich mich über das Startmenü abmelde fährt der Rechner komplett runter und schaltet sich auch ab, aber wenn ich das über den Code mach nicht.
Hab's auch schon mit 'shutdown -s -f -t 00', ist aber genau das selbe Problem. Also muss sich Windows anders beenden, oder? :love: Danke UC |
Re: Windows komplett herunterfahren
Versuchs doch mal mit POWEROFF
Ich hab aber die Erfahrung gemacht das sich das von Windows Version zu Version unterschiedlich verhält! bei 2000 schaltet shutdown mit aus und bei 98 nicht, oder irgendwie so!! |
Re: Windows komplett herunterfahren
Um was für ein Windows handelt es sich?
|
Re: Windows komplett herunterfahren
Zitat:
Shutdown funktioniert auf 98 aber eben auf XP nicht :evil: |
Re: Windows komplett herunterfahren
Holst du dir auch vorher die entsprechenden Rechte unter XP?
|
Re: Windows komplett herunterfahren
ExitWindowsEx mit dem Flag EWX_POWEROFF und entsprechenden Privilegien benutzen.
Allerdings habe ich selbst einen Rechner, bei dem es den entsprechenden Treiber für 9x gab (wo also Poweroff funktionierte) nur auf 2000 funktioniert es nicht. Testen kannst du es damit, ob XP selbst das "Ausschalten" bringt. Wenn das nicht geht, besorg dir erstmal nen Treiber oder vergiß es (ich zB habe keinen Treiber gefunden zu meinem ASUS P5A) |
Re: Windows komplett herunterfahren
:love: Danke Assarbad
mit Poweroff hat's funktioniert. Der Code aus der Code-Library sieht bei mir jetzt so aus:
Delphi-Quellcode:
So fährt der Rechner nämlich bei mir komplett runter und nicht mit ExitWindowsEx(EWX_SHUTDOWN, 0);
function ExitWin(flag:word): Boolean;
var vi : TOSVersionInfo; hToken : THandle; tp : TTokenPrivileges; h : DWord; begin //result := false; vi.dwOSVersionInfoSize:=SizeOf(vi); GetVersionEx(vi); if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT begin // Achtung bei Delphi 2 muß @hToken stehen ... !!!! ????? OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken); LookupPrivilegeValue(nil,'SeShutdownPrivilege',tp.Privileges[0].Luid); tp.PrivilegeCount := 1; tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; h := 0; AdjustTokenPrivileges(hToken,False,tp,0,PTokenPrivileges(nil)^,h); CloseHandle(hToken); result := ExitWindowsEx(flag,0); end else // Windows 95 begin Result := ExitWindowsEx(flag,0); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ExitWindowsEx(EWX_POWEROFF, 0); end; |
Re: Windows komplett herunterfahren
Einblick ins MSDN oder PSDK hätte uns diesen Thread übrigens erspart:
EWX_SHUTDOWN: Shuts down the system to a point at which it is safe to turn off the power. All file buffers have been flushed to disk, and all running processes have stopped. EWX_POWEROFF: Shuts down the system and turns off the power. The system must support the power-off feature. :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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