Выполнение этого кода:Чтение стандартный вывод из процесса, всегда пустой
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "tool.exe";
p.Start();
p.WaitForExit();
Делает tool.exe бежать, и выход некоторых контента на стандартный вывод. Однако, если я пытаюсь захватить содержимое с помощью:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "tool.exe";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
Console.ReadLine();
Тогда ничто не выводится, то есть моя переменная «выход» всегда пусто.
Я проверил, что tool.exe действительно выводит на стандартный вывод (а не стандартную ошибку).
У кого-нибудь есть ключ к тому, что происходит? Начиная чувствовать себя глупо здесь, как это кажется настоящим учебником пример ...
Это, вероятно, ждет ввода. – SLaks
Спасибо за предложение, но если tool.exe запущен без параметров, он сразу же выводит некоторый контент (который пытается захватить). – Marcus