Захват выходных данных процесса через событие OutputDataReceived

Я пытаюсь зафиксировать вывод процесса в «реальном времени» (во время его работы ). Код, который я использую, довольно прост (, см. ниже ). По какой-то странной причине событие OutputDataReceived никогда не вызывается. Почему?

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...
    }
39
задан Boris 24 July 2012 в 13:02
поделиться