C#: Shutdown PC und weitere CMD-Commands?

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

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting

Der richtig saubere Weg wäre über den Apiaufruf von ExitWindowsEx

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.