C#中隐式操作CMD命令行窗口

MS的CMD命令行是一种重要的操作界面,一些在C#中不那么方便完成的功能,在CMD中几个简单的命令或许就可以轻松搞定,如果能在C#中能完成CMD窗口的功能,那一定可以使我们的程序简便不少。

下面介绍一种常用的在C#程序中调用CMD.exe程序,并且不显示命令行窗口界面,来完成CMD中各种功能的简单方法。

如下所示:

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=true;//不显示程序窗口

p.Start();//启动程序

//向CMD窗口发送输入信息:

p.StanderInput.WriteLine("shutdown -r t 10"); //10秒后重启(C#中可不好做哦)

//获取CMD窗口的输出信息:

string sOutput = p.StandardOutput.ReadToEnd();有啦以下代码,就可以神不知鬼不觉的操作CMD啦。总之,Process类是一个非常有用的类,它十分方便的利用第三方的程序扩展了C#的功能。 using System.Diagnostics;

private string RunCmd(string command)

{

//实例一个Process类,启动一个独立进程

Process p = new Process();

//Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法,下面我们用到了他的几个属性:

p.StartInfo.FileName = "cmd.exe"; //设定程序名

p.StartInfo.Arguments = "/c " + command; //设定程式执行参数

p.StartInfo.UseShellExecute = false; //关闭Shell的使用

p.StartInfo.RedirectStandardInput = true; //重定向标准输入

p.StartInfo.RedirectStandardOutput = true; //重定向标准输出

p.StartInfo.RedirectStandardError = true; //重定向错误输出

p.StartInfo.CreateNoWindow = true; //设置不显示窗口

p.Start(); //启动

//p.StandardInput.WriteLine(command); //也可以用这种方式输入要执行的命令

//p.StandardInput.WriteLine("exit"); //不过要记得加上Exit要不然下一行程式执行的时候会当机

return p.StandardOutput.ReadToEnd(); //从输出流取得命令执行结果

}

----------------------------------------------------------

看到我这个函数没?返回值是string类型的.

可以直接Lable1.Text=RunCmd("dir");

函数参数是命令 《完》

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mane_yao/archive/2010/05/12/5583170.aspx