我正在尝试从代码中与windows命令提示符进行交互。我的目标是显示提示,输入一些命令,显示输出,然后重复。但似乎无法让前三个同时工作。
private void button2_Click(object sender, EventArgs e)
{
Process proc = new Process();
proc.StartInfo.FileName = "cmd";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardInput = true;
proc.Start();
StreamReader k = new StreamReader(proc.StandardOutput.BaseStream);
textBox2.Text = k.ReadToEnd();
}
以上代码只是挂起。如果我没有设置RedirectStandardInput,那么我可以显示整个提示。如果我关闭StandardInput的编写器,我可以得到一个命令来运行,但没有看到提示,或者能够重复它。那么如何才能获得显示,运行命令和反复显示输出的提示?
我希望重现Console2的命令行行为,但我对它的源代码感到有些不知所措。
答案 0 :(得分:1)
检查http://www.codeproject.com/cs/library/CommandLineHelper.asp
[marc_s]该网址导致找不到404页。
正确的网址最有可能是:http://www.codeproject.com/KB/string/CommandLineHelper.aspx
答案 1 :(得分:-1)
我认为你不能。如果显示控制台命令“提示”,则无法读取输出。我认为如果你阅读过程的输出,你需要绘制自己的命令提示符。