日期:2014-05-17  浏览次数:20880 次

C#调用CMD运行命名的问题
通过Process来掉用CMD.exe

System.Diagnosties.Process p=new System.Diagnosties.Process();
p.StartInfo.FileName="cmd.exe";//要执行的程序名称
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStanderInput=true;//可能接受来自调用程序的输入信息
p.StartInfo.RedirectStanderOutput=true;//由调用程序获取输出信息
p.StartInfo.CreateNoWindow=false;//显示程序窗口
p.Start();//启动程序
//向CMD窗口发送输入信息:
p.StanderInput.WriteLine("ping 192.192.5.5"); //10秒后重启(C#中可不好做哦)
//获取CMD窗口的输出信息:
string sOutput = p.StandardOutput.ReadToEnd();
这样运行的时候 会弹出个 黑框框,然后上面上面结果都没有。
sOutput 这个等运行完后才会得到结果,
但我们在直接打开CMD.EXE运行的时候,他的结果是会实时显示出来的。如图:
通过Process调用CMD.EXE来运行命令怎么达到 直接用cmd来运行时的效果了,,求指导
C# Prcess CMD 命令提示符

------解决方案--------------------
那你就把这3、4、5行删除呗。又想拦截输出,又想显示,这是自相矛盾的。


------解决方案--------------------
http://www.cnblogs.com/muzizongheng/archive/2013/07/03/3169145.html