Capturando la salida del proceso a través del evento OutputDataReceived
Estoy intentando capturar la salida del proceso en "tiempo real" (mientras se está ejecutando). El código que uso es bastante simple (ver más abajo). Por alguna extraña razón, el evento OutputDataReceived nunca se llama. ¿Por qué?
private void button2_Click(object sender, EventArgs e)
{
// Setup the process start info
var processStartInfo = new ProcessStartInfo("ping.exe", "-t -n 3 192.168.100.1")
{
UseShellExecute = false,
RedirectStandardOutput = true
};
// Setup the process
mProcess = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
// Register event
mProcess.OutputDataReceived += OnOutputDataReceived;
// Start process
mProcess.Start();
mProcess.WaitForExit();
}
void OnOutputDataReceived(object sender, DataReceivedEventArgs e)
{
//Never gets called...
}