Question

Je cherche un moyen de tuer un programme exe Windows qui, lorsqu'il est testé à partir d'un script python, plante et présente une boîte de dialogue à l'utilisateur; que ce programme est invoqué à plusieurs reprises, et peut se bloquer à plusieurs reprises, cela ne convient pas.

La boîte de dialogue de problème est le rapport standard d'une erreur Windows:

« foo.exe a rencontré un problème et doit fermer. Nous sommes désolés pour la gêne occasionnée »

et propose une Debug, rapport Envoyer Erreur, et ne pas Envoyer des boutons.

Je suis capable de tuer d'autres formes de dialogue résultant des accidents (par exemple une boîte de dialogue d'échec assert Construisons Debug est OK.)

I ont essayé fonction Taskkill.exe, pskill, et la fin () sur l'objet Popen du module de sous-processus qui a été utilisé pour invoquer le Exe

Quelqu'un at-il rencontré ce problème spécifique, et a trouvé une résolution?

Je me attends à l'automatisation de l'entrée d'utilisateur pour sélectionner la fenêtre, puis appuyez sur le bouton « Ne pas envoyer » est une solution possible, mais je voudrais quelque chose de beaucoup plus simple si possible

Était-ce utile?

La solution

Ne serait-il plus facile de désactiver la fonction de rapport d'erreur?

Autres conseils

Si vous deviez utiliser CreateProcessEx ou une fonction spécifique WinAPI, vous pourriez être en mesure d'appeler TerminateProcess ou TerminateThread pour forcer la fin du processus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top