C# Ruhezustand Problem

  • Ersteller Ersteller Donnidonis
  • Erstellt am Erstellt am
D

Donnidonis

Gast
Hey Leute,

Ich hab ein kleines Problem mit meiner Konsolenanwendung.
Ich möchte den PC in den Ruhezustand schicken.
Gefunden hab ich diesen Code:
Application.SetSuspendState(PowerState.Hibernate, true, false);
Leider funktioniert er nicht... Ich glaube der geht nur bei Forms anwendungen...
Hat wer ne Idee wie ich es bei einer Konsolen anwenduung mache?

Liebe Grüße
 
Zuletzt bearbeitet:
1.) Der volle Pfad lautet System.Windows.Forms.Application.SetSuspendState
Es wird also der Namespace System.Windows.Forms benötigt. Bei einer Konsolenanwendung ist der Standardmäßig nicht eingebunden. Das kannst du aber ändern, indem du bei References die entsprechende .dll hinzufügst.
Weiters empfiehlt es sich oben noch ein entsprechendes using dazuzugeben, damit du nicht immer alles tippen muss.

2.) Weiters solltest du bedenken, dass je nach Plattform der User nicht unbedingt die Rechte für diese Operation hat. Auf einem Server Betriebssystem darf er das z.B. normalerweise ohne Adminrechte nicht (wäre ziemlich katastrophal bei mehreren Usern).
Weiters kann es auch sein, dass der Ruhezustand deaktiviert ist (gerade bei SSDs üblich, da der Platz begrenzt ist und man sowieso nicht viel schneller ist).

P.S.: shutdown.exe funktioniert afaik ohne Adminrechte (bzw. mit Benutzerkontensteuerung) auch auf Desktoprechnern nicht mehr. Weiters hat sich von XP auf Vista die Syntax geändert (- bzw. / für Optionen)
 
Zuletzt bearbeitet:
Zurück
Oben