Tôi có một ứng dụng đang lưu trữ một số mã không ổn định của bên thứ ba mà tôi không thể kiểm soát trong một quy trình bên ngoài để bảo vệ ứng dụng chính của tôi khỏi các lỗi khó chịu. Quá trình cha mẹ của tôi là giám sát quá trình khác và làm "điều đúng (tm)" khi nó không thành công.Vô hiệu hóa báo cáo lỗi Windows (Dr. Watson) cho quy trình của tôi
Vấn đề mà tôi có là Dr. Watson vẫn phát hiện sự cố trong quá trình bị cô lập và gắn vào các quy trình trên đường xuống để lấy một bãi chứa sự cố. Điều này có hai vấn đề sau: 1. Giảm đáng kể thời gian cần thiết để tôi phát hiện lỗi do quá trình này vẫn còn hoạt động trong khi bãi chứa sự cố đang được thực hiện. 2. Hiển thị cửa sổ bật lên gây phiền nhiễu cho người dùng hỏi xem họ có muốn gửi báo cáo lỗi cho Microsoft hay không.
Rõ ràng là tôi muốn sửa các lỗi trong quá trình con, nhưng vì nó không phải là một tùy chọn, tôi muốn có khả năng vô hiệu hóa chọn lọc Dr. Watson (và Windows Error Reporting in Vista +) cho quá trình đó .
Tôi đang chạy một số mã của riêng mình trong quá trình trước khi chuyển sang bit không tin cậy, vì vậy nếu có API mà tôi có thể gọi ảnh hưởng đến quy trình hiện tại sẽ ổn.
Tôi biết: http://support.microsoft.com/default.aspx/kb/188296 sẽ tắt Dr. Watson cho toàn bộ máy. Tôi không muốn làm điều đó bởi vì nó sẽ làm cho tôi trở thành một công dân xấu trong thùng rác.
Tôi cũng biết tùy chọn WerSetFlags trong Vista + có vẻ như vô hiệu hóa báo cáo lỗi cửa sổ cho quy trình hiện tại, nhưng tôi cần một thứ sẽ tắt Dr.Watson trên các phiên bản hệ điều hành trước đó.