2008-10-28 3 views
5

Est-il possible dans .NET de vérifier si mon application se ferme en raison d'une commande d'arrêt de Windows (par opposition à toute ancienne fermeture d'application) afin d'écrire des fichiers de cache temporaires ou même bloquer l'arrêt assez longtemps pour inviter l'utilisateur à entrer?Détermination d'un arrêt ferme mon application

Alors que mon champ d'application actuel implique une application Winform et un service de fenêtres, je suis intéressé à comprendre cela d'une manière générique si possible

Répondre

7

SystemEvents.SessionEnding ressemble à un bon point de départ pour vous. Cet article parle de la séquence d'événements impliqués lors d'une déconnexion/fermeture.

4

En général, vous souhaiterez gérer le message Windows WM_QUERYENDSESSION. Cela donnera à votre application une chance de faire le nettoyage, ou de bloquer l'arrêt si c'est vraiment nécessaire.

2

Gérez l'événement SessionEnded sur le type Microsoft.Win32.SystemEvents.

Questions connexes