c# process 输入输出

来源:互联网 发布:mac os x 10.9.5 升级 编辑:程序博客网 时间:2024/05/17 09:09

复制代码
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 = "format.com";            p.StartInfo.Arguments = " G: /FS:FAT /Q";            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;             p.Exited += new EventHandler(p_Exited);            p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);            p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);             p.Start();            p.StandardInput.WriteLine("");            p.StandardInput.WriteLine("");             //开始异步读取输出            p.BeginOutputReadLine();            p.BeginErrorReadLine();             //调用WaitForExit会等待Exited事件完成后再继续往下执行。            p.WaitForExit();            p.Close();                         Console.WriteLine("exit");         }         void p_OutputDataReceived(Object sender, DataReceivedEventArgs e)        {            //这里是正常的输出            Console.WriteLine(e.Data);         }         void p_ErrorDataReceived(Object sender, DataReceivedEventArgs e)        {            //这里得到的是错误信息            Console.WriteLine(e.Data);         }         void p_Exited(Object sender, EventArgs e)        {            Console.WriteLine("finish");        }     }}
0 0
原创粉丝点击