zoukankan      html  css  js  c++  java
  • c#中重定向windows控制台程序的输出信息

    这个问题来自论坛提问,答案如下.这只是一个简单的ipconfig命令.如果是复杂的,比如oracle的exp之类的命令,能在调用的时候显示出来,还是相当酷的.

     using  System;
     using  System.Windows.Forms;
     
     namespace  WindowsApplication8
     {
          public   partial   class  Form1 : Form
          {
              public  Form1()
              {
                 InitializeComponent();
             } 
     
              delegate   void  dReadLine( string  strLine);
              private   void  excuteCommand( string  strFile,  string  args, dReadLine onReadLine)
              {
                 System.Diagnostics.Process p  =   new  System.Diagnostics.Process();
                 p.StartInfo  =   new  System.Diagnostics.ProcessStartInfo();
                 p.StartInfo.FileName  =  strFile;
                 p.StartInfo.Arguments  =  args;
                 p.StartInfo.WindowStyle  =  System.Diagnostics.ProcessWindowStyle.Hidden;
                 p.StartInfo.RedirectStandardOutput  =   true ;
                 p.StartInfo.UseShellExecute  =   false ;
                 p.StartInfo.CreateNoWindow  =   true ;
                 p.Start();
                 System.IO.StreamReader reader  =  p.StandardOutput; // 截取输出流 
                  string  line  =  reader.ReadLine(); // 每次读取一行 
                  while  ( ! reader.EndOfStream)
                  {
                     onReadLine(line);
                     line  =  reader.ReadLine();
                 } 
                 p.WaitForExit();
             } 
     
              private   void  button1_Click( object  sender, EventArgs e)
              {
                 excuteCommand( " ipconfig " ,  "" ,  new  dReadLine(PrintMessage));
             } 
              private   void  PrintMessage( string  strLine)
              {
                  this .textBox1.Text  +=  strLine  +   " " ;
             } 
         } 
     }/* 何问起 hovertree.com */

    推荐:http://www.cnblogs.com/roucheng/p/3521864.html

  • 相关阅读:
    快排
    Single Number II
    简单工厂和工厂方法
    Implement strStr()
    Linked List Cycle II
    Linked List Cycle
    适配器模式
    Struts2的ActionContext
    javaScript学习随笔
    Tomcat 基本配置(转)
  • 原文地址:https://www.cnblogs.com/roucheng/p/cskzt.html
Copyright © 2011-2022 走看看