我有一个控制台应用程序,我正在尝试通过重定向进程的标准输入流来自动化它。在手动模式下打开应用程序后,它会像下面这样等待用户输入:
我使用了重定向标准输入流的方式创建了该进程。代码片段如下:
Process newProcess = new Process();
newProcess.StartInfo.FileName = exeName;
newProcess.StartInfo.Arguments = argsLine;
newProcess.StartInfo.UseShellExecute = false;
newProcess.StartInfo.RedirectStandardOutput = false ;
newProcess.StartInfo.CreateNoWindow = false;
newProcess.StartInfo.RedirectStandardInput = true;
newProcess.Start();
然而,像这样创建的进程会导致下面的无限循环,
就好像我一直在向进程输入流发送Enter
键命令。有人可以指出我在这里做错了什么吗?
同样地,在进行了如下更改后,标准输出流重定向也不起作用:
newProcess.StartInfo.RedirectStandardOutput = true
但我可以处理那个。
标准流的重定向是否适用于所有控制台应用程序,还是有任何例外情况?