• 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");
            }
     
        }
    }
    复制代码
  • 相关阅读:
    nvidia tx1使用记录--基本环境搭建
    STL hashtable阅读记录
    Linux strace命令
    转一篇:Reactor模式
    C++ 模板特化以及Typelist的相关理解
    C++ 内联函数inline
    迭代器失效的几种情况总结
    C++ Class与Struct的区别
    C++中string.find()函数,string.find_first_of函数与string::npos
    C/C++ 中长度为0的数组
  • 原文地址:https://www.cnblogs.com/Alex80/p/4961615.html
Copyright © 2020-2023  润新知