代码: using System; using System.Diagnostics; using System.Collections; using System.Windows.Forms; namespace ConsoleApplication4 { class Program { /// <summary> /// 运行cmd命令 /// </summary> /// <param name="cmd">命令</param> /// <returns></returns> public static string Cmd(string[] cmd) { 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.AutoFlush = true; for (int i = 0; i < cmd.Length; i++) { p.StandardInput.WriteLine(cmd[i]); } p.StandardInput.WriteLine("exit"); string result = p.StandardOutput.ReadToEnd(); p.WaitForExit(); p.Close(); return result; } /// <summary> /// 关闭进程 /// </summary> /// <param name="ProcName">进程名称</param> /// <returns></returns> public static bool CloseProcess(string ProcName) { bool result = false; ArrayList pList = new ArrayList(); string tempName = ""; int begpos; int endpos; foreach (Process p in Process.GetProcesses()) { tempName = p.ToString(); begpos = tempName.IndexOf("(") + 1; endpos = tempName.IndexOf(")"); tempName = tempName.Substring(begpos, endpos - begpos); pList.Add(tempName); if (tempName == ProcName) { if (!p.CloseMainWindow()) { //当发送关闭窗口命令无效时强行结束进程 p.Kill(); } result = true; } } return result; } static void Main(string[] args) { string[] cmd = new string[] { "ping 192.168.1.1", "ipconfig" }; MessageBox.Show(Cmd(cmd)); CloseProcess("cmd.exe"); } } }