Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows (alle) herunterfahren?



~Gh05t~
28-01-2003, 14:32
Hiho,
ich bin noch mehr oder weniger n VC++ anfänger und brauche deshalb mal n bissl unterstützung hier:
Ich habe mir n kleines Programm geschrieben mit dem man Windows herunterfahren können soll (kein reboot).
Das einziege was noch fehlt ist windows herunterzufahren :D

Dazu habe ich die Funktion ExitWindowsEx() gefunden.
Nur weis ich leider nicht genau wie ich die anwenden muss, damit ich Windows auch wirklich runterfahren kann. Also ganz ohne jede weitere Aufforderung.
Soweit wie ich das verstanden habe ist das unter verschiedenen Win-Versionen sogar noch verschieden, ich bräuchte also eine Funktion die bestimmt welches OS vorhanden ist und dementsprechend das Sysem runterfährt.
Könnte mir da mal jemand helfen? Ich habe bereits Lösungen gesehen, allerdings komplett unkommentiert in einem sehr komplexen Programm integriert, ich bin noch nicht so weit das ich den Code aus einem Programm so rausholen kann das ich ihn auch noch verstehe.

Könnte mir mal jemand eine rel. einfache aber funktionsfähige Lösung geben, die evtl. sogar das ein oder andere Kommentar enthält? :rolleyes:

Alternativ wäre ein Tutorial, aber ich glaube das gibts nit... habe schon ewigkeiten das WWW durchforstet...

Bigthx...

/edit: Sry das ich das hier ins Unix Forum poste, normal schreibe ich auch Linux-code, nur brauche ich hier ausnahmsweise mal n WIN-Prog...:rolleyes:

mehlvogel
28-01-2003, 14:56
Das ist ne API Funktio - ich kenn sie leider nur in Grundzügen aus Delphi - sollte aber diesselbe sein. Ich weis aber nicht genau wie das bei NT Systemen aussieht. Bei normalen Windows dürfte das so gehen



ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCEIFHUNG, 0);


Zumindest in Delphi komm ich mit dem Aufruf aus Win raus ;) Die MSDN ist aber bei sowas eigentlich immer sehr Hilfsbereit: ExitWindowsEx (http://msdn.microsoft.com/library/en-us/sysinfo/base/exitwindowsex.asp)

~Gh05t~
28-01-2003, 16:26
Jo, hab mal das Beispiel von MSDN versucht... damit fährt zwar mein Sys runter, nur geht der Rechner nicht aus... er bleibt bei "Sie können den Computer jetzt ausschalten" stehen... den Rest kann ich manuell machen...

Außerdem werden allen Anwendungen einfach "eleminiert", nicht beendet... Wie kann ich denn das noch n bissl verfeinern? Außerdem läuft das Bsp. ja nur unter WinNT...

mehlvogel
28-01-2003, 16:32
EWX_POWEROFF
Shuts down the system and turns off the power. The system must support the power-off feature. Windows NT/2000/XP:__The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section.


Quelle: MSDN