2010-06-01 3 views
3

파이썬 스크립트에서 테스트 할 때 충돌이 발생하고 사용자에게 대화 상자가 표시되는 Windows exe 프로그램을 죽이는 방법을 찾고 있습니다. 이 프로그램은 여러 번 호출되고 반복적으로 충돌 할 수 있으므로 적합하지 않습니다.강력한 Windows 프로그램이 문제보고를 막음.

". 우리는 불편을 드려서 죄송합니다에서 foo.exe에 문제가있어서 프로그램을 종료해야합니다"

및 디버그가 제공 보내기

문제 대화 상자는 Windows 오류의 표준보고 오류보고 및 보내지 않음 단추가 있습니다.

내가 taskkill.exe, pskill을 시도

나는 충돌로 인한 대화 상자의 다른 형태 (예 : 디버그 빌드의 어설 션 오류 대화 상자가 OK입니다.) 죽일 수 있어요

하고는 popen에 종료() 함수 .exe 호출에 사용 된 하위 프로세스 모듈의 개체

누구든지이 특정 문제가 발생 했습니까?

나는 창을 선택하고 버튼은 하나 개의 가능한 솔루션이다 "보내지 않음"을 눌러 사용자 입력을 자동화 기대하지만라면 CreateProcessEx 또는를 사용하는

답변

3

오류보고 기능을 사용하지 않도록 설정하는 것이 쉬울까요?

+0

그래서 어떻게 할 수 있습니까? ;-) – grrussel

+0

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

+0

슬프게도 대화 상자에서 보고서 버튼을 비활성화 (제거)합니다. 두 개의 버튼 (디버그 및 닫기)은 계속 진행되지만 프로세스가 중지되지 않습니다. – grrussel

0

가능하면 내가 훨씬 간단 뭔가를하고 싶습니다 WinAPI 특정 함수를 사용하면 TerminateProcess 또는 TerminateThread를 호출하여 프로세스를 강제 종료 할 수 있습니다.

+0

이렇게하면 호출 된 (및 손상된) exe 프로그램은 종료되지만 Windows 오류보고 대화 상자 (WERFault.exe)는 닫히지 않습니다. – gwideman