2009-09-08 6 views
2

J'ai développé une application win32 en utilisant c/C++, qui fonctionne sur vista et xp,comment obtenir l'événement lorsque l'application est fermée du gestionnaire de tâches

Je voulais savoir, puis-je obtenir tout état de cause dans ma demande quand ma demande est tué de

gestionnaire de tâches, en sélectionnant le bouton « Terminer le processus »

Je veux libérer de la mémoire à la sortie de mon application.

S'il vous plaît aider à cet égard

en ce qui concerne,

Vinayaka Karjigi

+1

Pourquoi cette CW? – Naveen

+1

@Vinayaka Karjigi - en général, il suffit d'utiliser l'option de fin de processus lorsque l'application est suspendue, donc idéalement si un tel besoin se présente, il y a un problème avec votre application qui peut nécessiter un relooking. Comme indiqué dans les réponses ci-dessous, le nettoyage de la mémoire sera effectué par le système d'exploitation quand il met fin au processus. Quand cela dépend à nouveau du système d'exploitation. –

Répondre

4

Nope, votre demande est résilié sans préavis. Vous êtes à la merci du Gestionnaire des tâches.

+0

Et le système d'exploitation va libérer la mémoire de toute façon alors l'attraper pour libérer de la mémoire est totalement inutile. – Goz

+0

merci à vous deux pour vos suggestions –

0

En .net 2.0, vous pouvez obtenir la raison de fermeture de CloseReason.TaskManagerClosing. Par conséquent je soupçonne qu'il y a un structured exception que vous devriez pouvoir manipuler.

Modifier. Possibly not

Je soupçonne que le CLR place un point d'arrêt sur NTTerminateProcess pour les processus gérés.

Questions connexes