Announcement

Collapse
No announcement yet.

Wie erkenne ich einen Shutdown des Computers

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie erkenne ich einen Shutdown des Computers

    hallo zusammen,

    ich habe das problem, dass ich keinen unterschied zwischen
    closing und shutdown erkenne.
    beim closing wird eine messagebox aufgepoppt die mich fragt
    ob ich wirklich beenden will. das geht auch so in ordnung.
    aber wenn der pc herunterfährt wird das herunterfahren durch
    diese messagebox angehalten.
    kann mir bitte jemand dabei helfen?

    dank und anerkennung im voraus gf

  • #2
    Hallo Gerald,

    schau mal im Platform SDK nach WM_QUERYENDSESSION. Die Nachricht musst du in deinem Programm abfangen (müsste mit C# auch gehen :gruebel:, wenn du die WndProc-Funktion überschreibst) und setzt eine Variable "shutdown" auf true.

    Beim Closing Event deiner Form fragst du ab, ob shutdown true ist und wenn nicht, dann willst der User das Programm beenden und kannst die MessageBox anzeigen.

    Andr&#233

    Comment


    • #3
      hallo andre,

      ich habe deinen vorschlag implementiert und das ganze funktioniert super.

      hier die implementierung für alle die sich den kopf dabei nicht zerbrechen wollen.

      private bool _systemShutdown = false;
      // false == Benutzer beendet Form
      // true == System wird heruntergefahren

      protected override void WndProc( ref Message m )
      {
      int WM_QUERYENDSESSION = 0x11;
      if( m.Msg == WM_QUERYENDSESSION )
      _systemShutdown = true;
      base.WndProc (ref m);
      } // WndProc

      nochmals vielen dank für den tipp und bis die tage
      geral

      Comment


      • #4
        Danke, gern geschehen.

        Andr&#233

        Comment

        Working...
        X