C#: Shutdown PC und weitere CMD-Commands?
Hallo!
Ich sehe jeden Tag diese Antleitung auf Instagram: Wie man in C++/Python den PC runterfährt.
Klappt sowas auch in C#.... oder auch weitere Commands geben wie in der normalen CMD?
Danke und LG
3 Antworten
System.Diagnostics.Process.Start("CMD.exe", "shutdown /r /t 1");
Dürfte den Trick schon machen - du kannst über Process.Start im zweiten Argument die Startargumente, also die jeweiligen Befehle mitgeben.
Ansonsten;
Process.Start("shutdown","/r /t 1");
LG
Der richtig saubere Weg wäre über den Apiaufruf von ExitWindowsEx
- https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-exitwindowsex
- https://miromannino.com/blog/exitwindowsex-in-c/
Das Ausführen von shutdown.exe als Prozess ist billiger vom Programmieraufwand, birgt jedoch die Möglichkeit das in der Pathvariable ein Abweichender Pfad definiert wurde und ein solcher Aufruf (wie auch bei Batch) umgeleitet wird. (Es sei denn, der Pfad auf \System32 wurde im Aufruf Hardcodiert, was wieder andere Tücken haben kann)
Wenn es sich nicht gerade um ein Programm handelt, welches einen sauberen shutdown ,ohne außere Eingriffmöglichkeit, benötigt ist es kein Problem shutdown.exe aufzurufen.
Hier noch ein ganzes Potpourri diverser Anseätze:
https://www.codeproject.com/Tips/480049/Shut-Down-Restart-Log-off-Lock-Hibernate-or-Sleep
Das sollte in jeder Sprache klappen, die System calls ausführen kann.