2009-06-09 26 views

Répondre

2

La même application peut démarrer un thread séparé ou une autre application peut exécuter son propre thread et appeler périodiquement SendMessageTimeout() pour envoyer le message WM_NULL à l'application en question. Si le délai expire, cela signifie que l'application est irresponsable.

0

Si vous demandez comment le faire à l'intérieur du processus lui-même, vous ne pouvez pas, c'est un paradoxe. Un processus bloqué ne peut pas détecter s'il ne répond pas. Ce serait comme si quelqu'un se réveillait pour se demander s'il dort.

Basé sur ceci et votre other question, je suppose que vous avez une opération de longue durée et vous voulez que l'utilisateur attende jusqu'à ce que ce soit fini. S'ils cliquent sur votre fenêtre avant qu'elle ne soit terminée, ils ne répondent pas et peuvent mettre fin à l'application trop tôt.

Vous devez effectuer l'opération de longue durée sur un thread séparé. Voici un bon point de départ: CodeProject article

Questions connexes