我正在通过C#System.Diagnostics.Process运行一个命令行进程。如何使用C#System.Diagnostics.Process与提示进行交互?
当我在cmd.exe中输入相同的命令时,它立即提示我输入密码。输入密码后,该过程继续完成。
但是,使用System.Diagnotic.Process,我重定向的标准输出都不会产生密码提示。如果是这样,我会用重定向的标准输入的WriteLine方法以编程方式输入它。
通常在使用Process对象的输出中看不到提示?提示与其他标准输出行不同吗?如果是这样,那么如何将“提示事件”带入我的应用程序,输入输入,然后让程序按照它在cmd.exe中的相同方式继续进行?
大多数命令行程序会提示对stderr流密码,不是吗? – 2010-01-13 00:37:00
我试过使用Process.StandardInput.WriteLine(“密码”),但过程只是挂起,因为我没有输入密码。 第一个人提到我必须重定向流。如果是这样,为什么调用这个方法不会导致异常。它的行为就像已经有一个输入流作为过程对象的一个属性。 – 2010-01-13 03:17:08
丹尼尔,当他们相应的事件发生时,我将错误输出和常规输出添加到文本框中。然而,当我在cmd.exe中执行完全相同的命令时,我看不到我看到的提示。 – 2010-01-13 03:19:39