手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#隐式运行CMD命令(隐藏命令窗口)
C#隐式运行CMD命令(隐藏命令窗口)
摘要:本文实现了C#隐式运行CMD命令的功能。下图是实例程序的主画面。在命令文本框输入DOS命令,点击“Run”按钮,在下面的文本框中输出运行结果...

本文实现了C#隐式运行CMD命令的功能。下图是实例程序的主画面。在命令文本框输入DOS命令,点击“Run”按钮,在下面的文本框中输出运行结果。

C#隐式运行CMD命令(隐藏命令窗口)1

下面是程序的完整代码。本程序没有使用p.StandardOutput.ReadtoEnd()和p.StandardOutput.ReadLine()方法来获得输出,因为这些方法执行后画面容易卡死。而是通过调用异步方法BeginOutputReadLine来获取输出,并在事件p.OutputDataReceived的事件处理方法中来处理结果。

using System; using System.Diagnostics; using System.IO; using System.Windows.Forms; namespace RunDosCommandForm { publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(object sender, EventArgse) { ExcuteDosCommand(textBox1.Text); } privatevoidExcuteDosCommand(string cmd) { try { Process p = newProcess(); p.StartInfo.FileName = "cmd"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.OutputDataReceived += newDataReceivedEventHandler(sortProcess_OutputDataReceived); p.Start(); StreamWriter cmdWriter = p.StandardInput; p.BeginOutputReadLine(); if (!String.IsNullOrEmpty(cmd)) { cmdWriter.WriteLine(cmd); } cmdWriter.Close(); p.WaitForExit(); p.Close(); } catch(Exception ex) { MessageBox.Show("执行命令失败,请检查输入的命令是否正确!"); } } privatevoidsortProcess_OutputDataReceived(object sender,DataReceivedEventArgs e) { if(!String.IsNullOrEmpty(e.Data)) { this.BeginInvoke(newAction(() => { this.listBox1.Items.Add(e.Data);})); } } } }

我们还可以将需要运行的CMD命令保存为BAT文件,再使用Process类来执行。

Process p = new Process();//设定调用的程序名,不是系统目录的需要完整路径 p.StartInfo.FileName = "cmd.bat";//传入执行参数 p.StartInfo.Arguments = ""; p.StartInfo.UseShellExecute = false;//是否重定向标准输入 p.StartInfo.RedirectStandardInput = false;//是否重定向标准转出 p.StartInfo.RedirectStandardOutput = false;//是否重定向错误 p.StartInfo.RedirectStandardError = false;//执行时是不是显示窗口 p.StartInfo.CreateNoWindow = true;//启动 p.Start(); p.WaitForExit(); p.Close();

【C#隐式运行CMD命令(隐藏命令窗口)】相关文章:

c#根据文件类型获取相关类型图标的方法代码

C#程序打成 一键安装包-InstallShield教程

C#中隐式运行CMD命令行窗口的方法

C# 常用日期时间函数(老用不熟)

C#+MO实现一个道路编辑软件(刚开始)

c#(Socket)异步套接字代码示例

c#一个定时重启的小程序实现代码第1/2页

用C#编写ActiveX控件(二)

用C#操纵IIS(代码)

c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码

精品推荐
分类导航