zoukankan      html  css  js  c++  java
  • c# process 输入输出

    复制代码

    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");
            }
     
        }
    }
    复制代码
  • 相关阅读:
    SQL Server 触发器
    [转]SQL Server 存储过程
    C#-DataView及其用法
    IEnumerable和IEnumerator 详解 And迭代器
    C#多线程学习(六) 互斥对象
    GDI简单的图片处理
    C#委托的介绍(delegate、Action、Func、predicate)
    接口的理解与使用《转》
    Mysql drop、delete和truncate的区别
    如何查看笔记本CPU是几核的?
  • 原文地址:https://www.cnblogs.com/Alex80/p/4961615.html
Copyright © 2011-2022 走看看