none
PC runterfahren RRS feed

  • Frage

  • Wenn ich in meinen Programm anbieten möchte, den PC abzuschalten, wie sieht denn da der Befehl für aus?
    Vielen Dank im Voraus Liebe Grüße Stefan
    Dienstag, 9. Juni 2009 10:04

Antworten

  • Hallo Stefan,

    der einfachste, aber weniger elegante Weg:

    System.Diagnostics.Process.Start("ShutDown", "/s") ' Herunterfahren
    System.Diagnostics.Process.Start("ShutDown", "/r") ' Neustart

    Ein ebenfalls eher um die Ecke gedachter Weg wäre WMI:
    http://www.devasp.net/net/articles/display/354.html

    Deutlich eleganter und bei Problemen besser beherrschbar ist die Nutzung des Win32-APIs dafür:
    http://blogs.msdn.com/brad_mccabe/archive/2005/03/02/383542.aspx

    Viel Erfolg!


    • Als Antwort markiert Giftzwockel Dienstag, 9. Juni 2009 13:32
    Dienstag, 9. Juni 2009 12:42
  • Hallo Stefan,

    Der letzte Parameter ist 00 anstatt 0.

    System.Diagnostic.Process.Start("shutdown.exe", "-s -f -t 00")

    Die Bedeutung der Parameters lautet:

    "-s" bedeutet shutdown. Wenn du reboot möchtest dan kannst du "-s" mit "-r" austauschen.
    "-f" bedeutet das die laufenden Applikationen gezwungen sind zu schliessen ohne Mahnung (forced in Englisch)
    "-t 00" bedeutet die bestimmte Zeitabschaltung ist XX Sekunden. Selbstverständlich 00 ist ohne Countdown wie du es bemerkt hast.

    Grüsse und Erfolg,

    • Als Antwort markiert Giftzwockel Donnerstag, 11. Juni 2009 12:31
    Donnerstag, 11. Juni 2009 07:26
    Moderator

Alle Antworten

  • Hallo Stefan,

    der einfachste, aber weniger elegante Weg:

    System.Diagnostics.Process.Start("ShutDown", "/s") ' Herunterfahren
    System.Diagnostics.Process.Start("ShutDown", "/r") ' Neustart

    Ein ebenfalls eher um die Ecke gedachter Weg wäre WMI:
    http://www.devasp.net/net/articles/display/354.html

    Deutlich eleganter und bei Problemen besser beherrschbar ist die Nutzung des Win32-APIs dafür:
    http://blogs.msdn.com/brad_mccabe/archive/2005/03/02/383542.aspx

    Viel Erfolg!


    • Als Antwort markiert Giftzwockel Dienstag, 9. Juni 2009 13:32
    Dienstag, 9. Juni 2009 12:42
  • Einfach klasse was du so aus dem Ärmel schüttelst.

    Von dem was ich nicht weiß könnte man ganze Bücher schreiben ;-)
    Vielen Dank im Voraus Liebe Grüße Stefan
    Dienstag, 9. Juni 2009 13:33
  • Hallo,

    ich habe noch folgenden Code entdeckt:

    Process.Start(

    "shutdown.exe", "-s -f -t 0")

    Da geht das direkt ohne Countdown. Der PC wird einfach runtergefahren.
    Kann mir in diesem Zusammenhang jemand erklären, was dabei
    -s
    -f
    -t und
    0
    bedeuten?


    Vielen Dank im Voraus Liebe Grüße Stefan
    Mittwoch, 10. Juni 2009 22:44
  • Hallo Stefan,

    Der letzte Parameter ist 00 anstatt 0.

    System.Diagnostic.Process.Start("shutdown.exe", "-s -f -t 00")

    Die Bedeutung der Parameters lautet:

    "-s" bedeutet shutdown. Wenn du reboot möchtest dan kannst du "-s" mit "-r" austauschen.
    "-f" bedeutet das die laufenden Applikationen gezwungen sind zu schliessen ohne Mahnung (forced in Englisch)
    "-t 00" bedeutet die bestimmte Zeitabschaltung ist XX Sekunden. Selbstverständlich 00 ist ohne Countdown wie du es bemerkt hast.

    Grüsse und Erfolg,

    • Als Antwort markiert Giftzwockel Donnerstag, 11. Juni 2009 12:31
    Donnerstag, 11. Juni 2009 07:26
    Moderator