title: process.standardoutput.ReadToEnd() always empty?
body: <p>I'm starting a console application, but when I redirect the standard output I always get nothing!</p>
  
  <p>When I don't redirect it, and set <code>CreateNoWindow</code> to <code>false</code>, I see everything correctly in the console, but when I redirect it, <code>StandardOutput.ReadToEnd()</code> always returns an empty string.</p>
  
  <pre><code>        Process cproc = new Process();
          cproc.StartInfo.CreateNoWindow = true;
          cproc.StartInfo.FileName = Dest;
          cproc.StartInfo.RedirectStandardOutput = true;
          cproc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
          cproc.StartInfo.UseShellExecute = false;
          cproc.EnableRaisingEvents = true;
          cproc.Start();
          cproc.Exited += new EventHandler(cproc_Exited);
          while(!stop)
          {
             result += cproc.StandardOutput.ReadToEnd();
          }
  </code></pre>
  
  <p>The <code>EventHandler cproc_exited</code> just sets <code>stop</code> to <code>true</code>. Can someone explain why <code>result</code> is always <code>string.Empty</code>?</p>