Comment détecter si Windows est en cours d'arrêt ou de redémarrage

Je sais que lorsque Windows est en cours d'arrêt, il envoie un WM_QUERYENDSESSION message à chaque application. Cela rend plus facile à détecter lorsque Windows est en cours d'arrêt. Cependant, est-il possible de savoir si l'ordinateur va hors tension ou est-ce qu'il va redémarrer après l'installation de Windows s'est arrêté.

Je ne suis pas particulièrement optimiste, compte tenu de la documentation MSDN a ceci à dire à propos de WM_QUERYENDSESSION: "...il n'est pas possible de déterminer l'événement qui s'est produit," mais l'accumulation des spécificités de stackoverflow ne cesse de m'étonner.

OriginalL'auteur Andrew Garrison | 2009-06-11