Domanda

Sto cercando un mezzo per uccidere un programma exe di Windows che, quando in fase di test da uno script python, si blocca e presenta una finestra di dialogo per l'utente; in quanto questo programma viene richiamato molte volte, e può bloccare più volte, questo non è adatto.

La finestra di problema è la segnalazione standard di un errore di Windows:

"foo.exe ha riscontrato un problema e deve chiudere. Ci scusiamo per l'inconveniente"

e offre un debug, Invia segnalazione errori, e non inviare pulsanti.

Sono in grado di uccidere le altre forme di dialogo derivanti da urti (ad esempio una finestra di dialogo fallimento affermare di debug build è OK.)

Ho provato Taskkill.exe, pskill, e la funzione terminate () sull'oggetto Popen dal modulo sottoprocesso utilizzato per richiamare l'exe

Qualcuno ha riscontrato questo problema specifico, e ha trovato una soluzione?

Mi aspetto automatizzando l'input dell'utente per selezionare la finestra, e premere il tasto "Non Send" pulsante è una soluzione possibile, ma vorrei qualcosa di molto più semplice se possibile

È stato utile?

Soluzione

Non sarebbe più semplice per disattivare la funzione di segnalazione degli errori?

Altri suggerimenti

Se si sceglie di usare CreateProcessEx o una funzione WinAPI specifica, si potrebbe essere in grado di chiamare TerminateProcess o TerminateThread per terminare forzatamente il processo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top