2010-08-11 22 views
9

Estoy creando un proceso con el objeto System.Diagnostics.Process que a veces falla gravemente y Windows muestra el cuadro de diálogo Enviar informe de error. No tengo control sobre el proceso secundario, pero ya estoy manejando el caso cuando se bloquea, ¿cómo evito que aparezca el cuadro de diálogo?Cómo suprimir el cuadro de diálogo Informe de error de Microsoft cuando un proceso secundario se bloquea

Process p = new Process(); 
    p.StartInfo.FileName = Path.Combine(avokeHome, @"bin\folderstx.exe"); 
    p.StartInfo.Arguments = "-f" + propertiesFile; 
    p.StartInfo.CreateNoWindow = true; 
    p.StartInfo.UseShellExecute = false; 
    p.StartInfo.RedirectStandardError = true; 
    p.StartInfo.RedirectStandardOutput = true; 
    p.OutputDataReceived += (sender, e) => { if(!string.IsNullOrEmpty(e.Data)) Console.WriteLine(e.Data); }; 
    p.ErrorDataReceived += (sender, e) => { if(!string.IsNullOrEmpty(e.Data)) Console.WriteLine(e.Data); }; 
    p.EnableRaisingEvents = true; 
    p.Exited += (sender, e) => { Console.WriteLine("Exited"); }; 
    p.Start(); 
    p.BeginErrorReadLine(); 
    p.BeginOutputReadLine(); 

Respuesta

7

Creo que es un poco difícil de lograr eso. Informar un error es la elección del usuario (Lo configuramos a través del Panel de control -> Centro de actividades -> Configuración de informes de problemas (Win 7))

También. Consulte this article from MS Support, que trata de deshabilitar este informe (para todas las aplicaciones) con algunas entradas de registro.

+0

Esto es desafortunado, pero valió la pena preguntar. –

+2

[Configuraciones WER] (http://msdn.microsoft.com/en-us/library/bb513638%28VS.85%29.aspx) también enumera algunas claves de registro, en particular, 'DontShowUI'. –

Cuestiones relacionadas