C# 调用cmd.exe的方法

网上有很多用C#调用cmd的方法,大致如下:

 
private void ExecuteCmd( string command) { Process p = new Process(); p.StartInfo.FileName = " cmd.exe " ; p.StartInfo.UseShellExecute = false ; p.StartInfo.RedirectStandardInput = true ; p.StartInfo.RedirectStandardOutput = true ; p.StartInfo.CreateNoWindow = true ; p.Start(); p.StandardInput.WriteLine(command); p.StandardInput.WriteLine( " exit " ); p.WaitForExit(); this .textBox1.Text = textBox1.Text + p.StandardOutput.ReadToEnd(); p.Close(); }


上面代码有几个不足,一是必须要exit那一句,否则就会死循环。再就是每次执行Execute执行cmd后,都必须等到cmd执行完且

cmd.exe进程退出,才能读到结果。有时候这样会让我们的应用程序失去操作的连续性。
事实上,通过两个线程,一个访问输入管道,一个访问输出管道,可以很容易实现持续性的效果,下面是一个Console程序:


你可能感兴趣的:(thread,C++,c,C#,LINQ)