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");
            }
     
        }
    }
    复制代码
  • 相关阅读:
    Dart语言学习笔记(5)
    使用 Dart 调用 REST API
    JSON数据的解析和生成(Dart)
    趣味编程:静夜思(Dart版)
    正则表达式(Dart)
    Dart语言学习笔记(4)
    Dart语言学习笔记(3)
    C++11特性之右值引用
    各大编程字体比较
    优先队列的应用 C++实现
  • 原文地址:https://www.cnblogs.com/Alex80/p/4961615.html
Copyright © 2011-2022 走看看