Ho un'applicazione che ospita un codice di terze parti instabile che non posso controllare in un processo esterno per proteggere la mia applicazione principale da errori brutti che mostra. Il mio processo genitore sta monitorando l'altro processo e facendo "la cosa giusta (tm)" quando fallisce.Disattivazione della segnalazione degli errori di Windows (Dr. Watson) per il mio processo
Il problema che ho è che il Dr. Watson sta ancora rilevando arresti anomali nel processo isolato e si collega ai processi durante il down down per fare un crash dump. Questo ha i due problemi di: 1. Drammaticamente rallentando il tempo necessario a me per rilevare un errore perché il processo rimane attivo mentre viene eseguito il crash dump. 2. Mostrando popup fastidiosi all'utente chiedendo se vogliono inviare i report degli errori a Microsoft.
Chiaramente preferirei correggere gli errori nel processo figlio, ma dato che non è un'opzione, mi piacerebbe poter disabilitare in modo selettivo Dr. Watson (e Segnalazione errori di Windows in Vista +) per quel processo .
Sto eseguendo parte del mio codice nel processo prima di passare al bit non attendibile, quindi se c'è un'API che posso chiamare che influisce sul processo corrente andrebbe bene.
Sono a conoscenza di: http://support.microsoft.com/default.aspx/kb/188296 che disabiliterà Dr. Watson per l'intera macchina. Non voglio farlo perché mi farebbe diventare un cattivo cittadino nel cestino di un ambiente a livello di macchina.
Sono anche a conoscenza dell'opzione WerSetFlags in Vista + che sembra disabilitare la segnalazione degli errori di Windows per il processo corrente, ma ho bisogno di qualcosa che disabiliterà Dr.Watson nelle precedenti versioni del sistema operativo.