【发布时间】:2014-03-17 21:09:50
【问题描述】:
我有一个控制台应用程序,我试图通过重定向进程的标准输入流来实现自动化。在打开应用程序后的手动模式下,它等待用户输入,如下所示,
我用重定向的标准输入流创建了进程。代码sn-p如下,
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
但我可以应付。
标准流的重定向是否适用于所有控制台应用程序,还是有任何例外?
【问题讨论】:
-
循环中的代码是什么样的?
-
@Watson 我没有控制台应用程序的代码。它是第三方工具。
-
请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。
标签: c# process iostream io-redirection