2010-06-01 4 views
3

Я ищу способ убить программу exe для Windows, которая при тестировании из сценария python выдает сообщение и представляет пользователю диалог; так как эта программа вызывается много раз и может неоднократно разбиваться, это не подходит.Надежное убийство Windows-программ застряли в сообщениях «проблемы»

диалог Проблема является стандартной отчетности ошибки Windows:

«foo.exe столкнулся с проблемой и необходимо закрыть Приносим извинения за неудобства»

и предлагает Debug, Отправить Отчет об ошибках и кнопки «Не отправлять».

Я могу убить другие формы диалога в результате аварий (например, диалог отказа утверждать отладочный в порядке.)

Я попытался Taskkill.exe, PsKill и функция прекращается() на Popen объект из модуля подпроцесса, который использовался для вызова .exe

Кто-нибудь столкнулся с этой конкретной проблемой и нашел разрешение?

Я ожидаю автоматизации пользовательского ввода, чтобы выбрать окно и нажмите «Не отправлять» кнопка один из возможных решений, но я хотел бы кое-что намного проще, если это возможно

ответ

3

Не было бы проще отключить функцию сообщения об ошибках?

+0

Итак, как я могу это сделать? ;-) – grrussel

+0

http://www.windowsnetworking.com/articles_tutorials/Disable-Error-Reporting-Windows-XP-Server-2003.html – grrussel

+0

К сожалению, это отключение (удаление) кнопки отчета в диалоговом окне, которое после этого просто две кнопки (Debug и Close), но все же блокируют процесс от его убийства. – grrussel

0

Если вы должны были использовать CreateProcessEx или ее WinAPI, вы можете вызвать TerminateProcess или TerminateThread для принудительного завершения процесса.

+0

Это приведет к завершению программы exe (с разбивкой), но не отменит диалог Windows Error Reporting (WERFault.exe). – gwideman

 Смежные вопросы

  • Нет связанных вопросов^_^