c#中重定向windows控制台程序的输出信息

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

这个问题来自论坛提问,答案如下.这只是一个简单的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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea控制台输出乱码

    idea控制台输出乱码

    2021年9月16日
    79
  • idea汉化教程[通俗易懂]

    idea汉化教程[通俗易懂]1.同样的,第一步,打开软件2.进入软件后依次点击file→settings3.接着点击plugins4.然后点击Marketplace(在线搜索插件)5.在搜索框输入chinese(看到这个名字,知道是啥了吧),找到Chinese(simplifed)Language这个插件,然后点击安装6.等待安装完成后点击RestartIDE7.点击Restart8.然后软件会重启,等待重启后,进入软件,然后你会发现,和你想象中的一样了…

    2022年4月27日
    81
  • 3D编程软件(3d动画需要编程吗)

    本篇文章中,我们学习了UnityShader的基本写法框架,以及学习了Shader中Properties(属性)的详细写法,光照、材质与颜色的具体写法。写了6个Shader作为本文Shader讲解的实战内容,最后创建了一个逼真的暴风雪场景进行了Shader的测试。依旧是国际惯例先上本文配套程序的截图。先是一张远眺图:

    2022年4月11日
    37
  • mysql分区表_MySQL分区表的正确使用方法

    mysql分区表_MySQL分区表的正确使用方法MySQL分区表概述我们经常遇到一张表里面保存了上亿甚至过十亿的记录,这些表里面保存了大量的历史记录。对于这些历史数据的清理是一个非常头疼事情,由于所有的数据都一个普通的表里。所以只能是启用一个或多个带where条件的delete语句去删除(一般where条件是时间)。这对数据库的造成了很大压力。即使我们把这些删除了,但底层的数据文件并没有变小。面对这类问题,最有效的方法就是在使用分区表。最常…

    2022年6月4日
    29
  • 截取示波器网络图片[通俗易懂]

    截取示波器网络图片[通俗易懂]■问题由来手边有一台相对比较古老的Tektronix的示波器TDS3054D示波器,四通道的。它可以通过联网获得波形的图片。对于记录观察到的波形相对比较方便。▲示波器及其联网获得屏幕图片在截取示波器波形窗口的过程中,由于上面出现红色的字体(HOME:TDS3054BAA(192.168.0.101))的影响,经常使得截取图片出现不完整,因此希望通过软件(PYTHON程序)自动完成精细截取的过程。▲截取示波器波形窗口TDS3054B的显示模式包括两种:普通显示模式:示波器的

    2022年10月12日
    3
  • ueditor使用注意事项

    ueditor使用注意事项

    2022年1月5日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号