C#: Programm beendet oder PC heruntergefahren?

Ich sollte mal irgendwie ein Nopaste installieren um CodeSchnipsel hier zu hinterlassen.

Dieser Code prüft, ob das Programm manuell beendet wird oder wenn man z.B. den PC per Startmenü herunterfährt. Sinnvoll um evtl. Messageboxen zu unterlassen, die den Shutdown unterbrechen würden.

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

Der Code stammt aus dem Gerald Fauland aus dem Entwicklerforum.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.