Win32 API analogue d'envoi / capture de SIGTERM
Sous POSIX OS il y a signal de l'API qui permet d'envoyer un signal au processus de mise à l'arrêt
avec tuer et vous pouvez le prendre avec sigaction et de faire ce dont vous avez besoin;
Toutefois, Win32 n'est pas POSIX système, de sorte que:
- Comment puis-je gérer l'extinction des événements qui peuvent arriver, par exemple, de "terminer le Processus" dans le "gestionnaire des Tâches"?
- Qu'est-ce que l'API standard pour l'envoi de l'arrêt du signal d'application Win32?
Je ne parle pas de l'interface graphique, je parle de serveur TCP/IP qui doit être bien à l'arrêt. que ne pas courir comme un service windows.
source d'informationauteur Artyom
Vous devez vous connecter pour publier un commentaire.
Vous obtenez un
WM_QUIT
message sur votre premier créé fil.Lorsque vous ne traitez que votre processus est la force de l'arrêt.
Afin de mettre en œuvre une file d'attente de messages dans votre premier thread, ce qui semble pour le
WM_QUIT
messageMSDNs Code Unix Guide de Migration de a un chapitre sur Win32 code de conversion et de traitement du signal.
Bien que Microsoft a décidé d'archiver ce guide génial, il est très utile.
Trois méthodes sont décrites:
Natif de signaux
Événement objets
Messages
Peut être Gestion d'Alimentation de Windows à partir de MSDN serait utile. Mais il traite avec les événements du système plutôt que par processus.
Pour un processus, vous pourriez être en mesure de détecter la résiliation avec
WM_CLOSE
. Vous devez gérer les messages de windows. Si c'est une application console, vous devez installer un gestionnaire de contrôle; regardez SetConsoleCtrlHandler sur MSDN