Я запускаю консольное приложение, но когда я перенаправляю стандартный вывод, я всегда ничего не получаю!
Когда я не перенаправляю его и устанавливаю CreateNoWindow
в false
, я вижу все правильно в консоли, но когда я перенаправляю его, StandardOutput.ReadToEnd()
всегда возвращает пустую строку.
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();
}
EventHandler cproc_exited
просто устанавливает stop
в true
. Может кто-нибудь объяснить, почему result
всегда string.Empty
?