using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.Diagnostics; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Process p = new Process(); p.StartInfo.FileName = "ping"; p.StartInfo.Arguments = "127.0.0.1"; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true;//true表示不显示黑框,false表示显示dos界面 p.StartInfo.UseShellExecute = false; p.EnableRaisingEvents = true;//在进程终止时是否应引发 Process.Exited 事件 p.OutputDataReceived += (s, ev) => { Console.WriteLine(ev.Data); }; p.ErrorDataReceived += (s, ev) => { Console.WriteLine(ev.Data); }; p.Exited += (s, ev) => { Console.WriteLine(ev.ToString()); }; p.Start(); p.StandardInput.WriteLine(""); p.StandardInput.WriteLine(""); //开始异步读取输出 p.BeginOutputReadLine(); p.BeginErrorReadLine(); //调用WaitForExit会等待Exited事件完成后再继续往下执行。 p.WaitForExit(); p.Close(); Console.WriteLine("exit"); } } }
![复制代码](https://common.cnblogs.com/images/copycode.gif)
2024-08-19 16:22:31【出处】:https://www.cnblogs.com/Alex80/p/4961615.html
=======================================================================================
以上代码同样适应于命令行出现
标签:输出,c#,System,process,WriteLine,using,StartInfo,ev,true From: https://www.cnblogs.com/mq0036/p/18367573