c# process 输入输出
2015-11-13 11:23
316 查看
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"); } } }
相关文章推荐
- C#编扫雷源码 一2008年03月23日
- (原创)c#学习笔记10--定义类成员03--接口的实现02--用非公共的可访问性添加属性存取器
- .NET(C#):使用Win32Exception类型处理Win32错误代码
- C#导入导出EXCEL文件的类
- C#操作图片
- C#操作Word
- (原创)c#学习笔记10--定义类成员03--接口的实现01--显示实现接口成员
- C#通过adb传输安卓设备数据
- C# this.Invoke()的作用与用法
- C# 简单的日志文件制作
- C#读取execl文件
- (原创)c#学习笔记10--定义类成员02--类成员的其他议题03--嵌套的类型定义
- C# Lock关键字
- C#中as和is关键字
- C# 解析xml文件时,报错:名称不能以“ ”字符(十六进制值 0x20)开头
- C#MVC基类实现事务处理思路
- an excellent capability of C# language and compiler
- c# 函数相关练习
- C#学习笔记 特性
- WPF中用后台C#代码为TabItem设置Background属性