programme Windows C effectuer une action à l’arrêt

Je fais un programme qui envoie des “battements de coeur” à un serveur pour suivre les nœuds. Ce sont des paquets avec les charges utiles suivantes:

Les deux premiers sont faciles. Le thread / boucle peut définir le message sur les exécutions suivantes et suivantes. Comment faire pour que la boucle “intercepte” un arrêt afin de pouvoir envoyer un dernier paquet?

J’utilise le compilateur minGW pour C dans la plate-forme WinXP.

Edit: J’ai ajouté les détails pertinents que j’ai manqués (merci à WalkingTarget et Ferruccio)

  • C’est une application en cours qui contient des trucs compliqués dans l’implémentation 🙂
  • Il utilise libCURL, la bibliothèque client HTTP pour envoyer les paquets
  • C’est une application de console, que je (beaucoup plus tard) a l’intention de servir
  • Il doit enregistrer un fichier et envoyer un paquet à l’arrêt
  • Il doit capturer un arrêt du système

Dans votre WindowProc (), vous pouvez vérifier le message WM_QueryEndSession, que Windows envoie à tous les processus ouverts avant l’arrêt. Pour plus d’informations sur ce message, voir le lien suivant, mais je comprends que c’est aussi sortingvial que de rechercher un WM_SIZE:

http://msdn.microsoft.com/en-us/library/aa376890%28VS.85%29.aspx