Comment pouvez-vous détecter si votre application MFC ne répond pas?Comment pouvez-vous détecter si votre application MFC ne répond pas?
Répondre
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.
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
- 1. Comment désactiver la fermeture d'une application lorsqu'elle ne répond pas?
- 2. AVAudioPlayer ne répond pas
- 3. iPhone SDK - navController pushViewController - ne répond pas
- 4. TFS Créer agent ne répond pas
- 5. UIViewController ne répond pas aux touches
- 6. Le sélecteur jquery ne répond parfois pas
- 7. Comment vérifier si une image distante répond à certaines spécifications
- 8. Comment déployer une application MFC?
- 9. Comment améliorer votre application web
- 10. WIX: Comment détecter si une application tierce est installée?
- 11. MFC DockablePane ne flotte pas ou ne se cache pas
- 12. Changer Response.Header fait javascript ne répond pas sur ma page
- 13. $ (this) .keyup() ne répond pas lorsqu'il est focalisé sur tinyMCE
- 14. Comment détecter quand la hauteur de votre page change?
- 15. L'interface utilisateur ne répond toujours pas après avoir utilisé control.begininvoke
- 16. Ajax appel ne répond pas sur demande répétée
- 17. Ne répond pas est affiché dans la barre de titre
- 18. Comment accéder au "fichier nsf" si les notes Lotus ne sont pas installées sur votre machine?
- 19. Erreur: Les projets MFC ne peuvent pas définir _ATL_NO_EXCEPTIONS
- 20. Problème IIS - Le bouton de configuration ne répond pas
- 21. Hit url contre la chaîne mais ne répond pas
- 22. SWFAddress 2.2 ne répond pas à des URL spécifiques
- 23. Visual Studio ne répond pas sur la construction
- 24. La table ne répond pas à la deuxième requête jQuery
- 25. Détecter si mon application s'exécute sous l'EDI "Delphi 2007 .Net"
- 26. Comment détecter si un graphique sera tramé?
- 27. Comment détecter si le visiteur de votre site Web provient d'un résultat de recherche Google?
- 28. Comment détecter si l'imprimante est connectée à votre ordinateur ou non en Java?
- 29. Comment détecter si Vista UAC est activé?
- 30. Comment détecter lorsqu'une application perd le focus?
Ne répond pas à quoi? –