2008-10-28 4 views
5

Ist es möglich in .NET festzustellen, ob meine Anwendung geschlossen wird, weil Windows einen Shutdown-Befehl (im Gegensatz zu einem alten Anwendungsabschluss) erhalten hat, um einige temporäre Cache-Dateien auszugeben oder blockieren Sie das Herunterfahren lange genug, um Benutzereingaben zu verlangen?Das Feststellen eines Shutdowns schließt meine Anwendung

Während meiner aktuellen Bereich beinhaltet eine Winform app und einen Windows-Dienst, ich bin interessiert dies in allgemeiner Weise das Verständnis, wenn möglich

Antwort

7

SystemEvents.SessionEnding sieht aus wie ein guter Ausgangspunkt für Sie. Dieser Artikel spricht über die Ereignissequenz, die beim Abmelden/Herunterfahren involviert ist.

4

Im Allgemeinen werden Sie die WM_QUERYENDSESSION Windows-Nachricht behandeln wollen. Dies gibt Ihrer Anwendung die Möglichkeit, eine Bereinigung durchzuführen oder das Herunterfahren zu blockieren, wenn es wirklich notwendig ist.

2

Behandeln Sie das SessionEnded-Ereignis auf dem Microsoft.Win32.SystemEvents-Typ.