您的位置:首页 > 其它

.NET调用命令行执行程序的相关问题

2016-12-05 14:23 281 查看
在.net中,可以用System.Diagnostics.Process类来调用执行自己的EXE。在执行EXE时可参照下面代码:

using System.Diagnostics.Process;

public string EXEcute(string FileName)

{

//we can call this function to execute a program which porvide by FileName.

                string OutPut;

                private Process process=new Process();//init

                process.StartInfo.FileName = FileName;//制定执行程序的全路径

                process.StartInfo.UseShellExecute = false;

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

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

                process.StartInfo.RedirectStandardError = true;//重定向标准错误输出

                process.StartInfo.CreateNoWindow = true;//不显示窗口

                process.Start();//开始执行程序

                process.StandardInput.WriteLine("systeminfo");//向程序输入参数

                process.WaitForExit();//等待程序执行结束

                OutPut = process.StandardOutput.ReadToEnd();//读取程序输出

                return OutPut;

}

同向Porcess类同样可以执行命令行命令。具体参见下面代码

public string EXEcuteCMD()
{

                string OutPut;

                private Process process=new Process();//init
                process.StartInfo.FileName = “cmd.exe”;//制定执行程序的全路径

                process.StartInfo.UseShellExecute = false;

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

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

                process.StartInfo.RedirectStandardError = true;//重定向标准错误输出

                process.StartInfo.CreateNoWindow = true;//不显示窗口

                process.Start();//开始执行程序
                process.StandardInput.WriteLine("systeminfo");//向程序输入参数

                process.StandardInput.WriteLine("exit");//结束命令行,特别注意此行代码,此处如果不执行结束命令,那么命令行将阻塞在处, 而不会退出命令行,此时如果没有显示窗口的情况下,用户可能会误以为程序死了,其实不然。
                process.WaitForExit();//等待程序执行结束

                OutPut = process.StandardOutput.ReadToEnd();//读取程序输出

                return OutPut;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  .net
相关文章推荐