通过重定向标准输出获取控制台应用程序的输出C#

时间:2017-03-11 16:54:41

标签: c# .net

我有一个控制台应用程序,可以输出内容并等待输入。 我试图启动该应用程序获取输出,然后发回一些东西。但是,似乎我无法获得初始输出。相反,当我尝试读取重定向输出时,程序会阻塞。

代码:

Process p = new Process();
p.StartInfo.FileName = exe;
//p.StartInfo.Arguments = arg;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = false;
p.StartInfo.UseShellExecute = false;

p.Start();

//StreamWriter inputWriter = p.StandardInput;
//StreamReader outputReader = p.StandardOutput;
Console.WriteLine("Step 1");
string s = p.StandardOutput.ReadToEnd();
Console.WriteLine("Step 2");
Thread.Sleep(3000);

永远不会打印第2步。我错过了什么?

0 个答案:

没有答案