`
csstome
  • 浏览: 1521728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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,dReadLineonReadLine)
... {
System.Diagnostics.Processp
= 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.StreamReaderreader
= p.StandardOutput; // 截取输出流
string line = reader.ReadLine(); // 每次读取一行
while ( ! reader.EndOfStream)
... {
onReadLine(line);
line
= reader.ReadLine();
}

p.WaitForExit();
}


private void button1_Click( object sender,EventArgse)
... {
excuteCommand(
" ipconfig " , "" , new dReadLine(PrintMessage));
}

private void PrintMessage( string strLine)
... {
this .textBox1.Text += strLine + " " ;
}

}

}
分享到:
评论

相关推荐

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

    c#中重定向windows控制台程序的输出信息 <br>网文:http://blog.csdn.net/jinjazz/archive/2008/05/07/2413039.aspx<br><br>更多软件: http://soft.hiw.cn<br>

    c#命令行输出重定向demo

    在C#编程中,命令行输出重定向是一项实用的技术,它允许我们捕获并处理程序在控制台中输出的信息。这个“c#命令行输出重定向demo”项目为我们提供了一个直观的例子,展示了如何在GUI(图形用户界面)应用中执行...

    winform调控制台程序

    以上代码中,`AllocConsole`函数用于创建一个隐藏的控制台窗口,然后在WinForm的事件处理函数中,我们通过设置`RedirectStandardOutput`和`RedirectStandardError`属性来捕获控制台程序的输出和错误。最后,恢复原始...

    WPF控制台输出Console可隐藏可显示

    然而,在某些情况下,我们可能需要在WPF应用中使用控制台输出(Console)进行调试或者信息打印。标题“WPF控制台输出Console可隐藏可显示”指的是在WPF应用中如何管理和控制控制台窗口的可见性,即在需要时显示...

    匿名管道实现控制台重定向

    在本例中,“匿名管道实现控制台重定向”是指将控制台输出(如命令行程序的打印信息)通过匿名管道导向到其他地方,例如另一个进程或文件。这里我们使用了`PING`命令作为示例,`PING`是一个常用的网络诊断工具,用于...

    C# 控制台应用程序

    首先,控制台应用程序的基础是C#中的`System.Console`类,它提供了读取用户输入和向屏幕输出信息的方法。在这个特定的应用场景中,程序会请求用户输入他们的手机号码。这可以通过调用`Console.ReadLine()`方法来实现...

    控制台应用程序定向输入和输出C++源代码程序小实例

    在C++编程中,控制台应用程序是通过标准输入(stdin)、标准输出(stdout)和标准错误(stderr)进行数据交互的基础形式。定向输入和输出是指将这些标准流重定向到文件或其他设备,使得数据不再仅限于从键盘输入或到...

    C#中运行DOS命令并且隐藏DOS界面

    ### C#中运行DOS命令并且隐藏DOS界面 在C#编程中,有时我们需要执行一些DOS命令来完成特定的任务,比如系统监控、网络测试等。然而,在执行这些命令时,我们通常不希望看到DOS窗口弹出,因为这会干扰用户的视觉体验...

    WinForm执行控制台命令

    在.NET框架中,C#是一种常用的编程语言,用于构建各种应用程序,包括Windows桌面应用,如WinForms。在WinForms应用中,有时我们需要与系统进行交互,例如执行控制台命令(CMD命令)。本篇将深入探讨如何在C#的...

    C#执行CMD命令获取返回结果

    附带的“小软件.png”可能是显示了运行上述代码或类似代码的结果,而“cmd窗体.rar”可能是一个包含C#项目的压缩包,该项目演示了如何在Windows窗体应用程序中集成CMD命令执行的功能。解压并运行这个项目,你可以...

    如何重定向应用程序的标准输入/输出

    在编程领域,重定向应用程序的标准输入/输出是一项基础但至关重要的技能,特别是在系统级编程和自动化脚本中。本文将详细讲解如何在C#环境下,利用.NET Framework 2.0的功能来实现这一操作,这对于使用Visual Studio...

    C# 删除保存的WIFI网络名

    在上面的代码中,我们首先创建了一个`ProcessStartInfo`对象,设置了`FileName`为`cmd.exe`,然后重定向了标准输入和输出,这样我们就可以通过程序控制命令行的输入和接收其输出。接着,我们启动进程并写入netsh命令...

    C#执行CMD命令

    在.NET框架中,C#是一种常用的编程语言,用于构建各种应用程序,包括控制台应用、Windows应用、Web应用等。在某些场景下,我们可能需要在C#程序中执行操作系统级别的命令,例如运行CMD(命令提示符)命令。这通常...

    C#执行dos命令

    在.NET框架中,C#是一种常用的编程语言,它支持与操作系统进行交互,包括执行DOS(磁盘操作系统)命令。本文将深入探讨如何在C#中实现这一功能,以及如何设计一个用户界面来输入和显示DOS命令的结果。 首先,执行...

    C#通用类数据库连接、日志、http类、json解析、xml、RTX接口调用

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows应用程序、Web应用以及游戏开发等领域。本压缩包“C#通用类数据库连接、日志、http类、json解析、xml、RTX接口调用”提供了C#编程中常用的一些核心功能...

    C#/.NET使用git命令行来操作git仓库的方法示例

    - RedirectStandardOutput:设置为true以重定向输出,从而可以从.NET程序中捕获到命令的输出信息。 - UseShellExecute:默认为true,但要重定向输出时,需要将其设置为false。不设置时,默认值为true。 - Working...

    process1.rar_C#编程_C#_

    在IT行业中,C#是一种广泛使用的面向对象的编程语言,尤其在Windows平台的应用程序开发、游戏开发以及服务器端编程等领域有着重要地位。本压缩包"process1.rar"聚焦于C#编程中的一个关键概念——Process类,这个类是...

    dotnetexpect:.NET的Expect启发式控制台自动化库

    与只能重定向子进程的标准流的其他解决方案不同,DotNetExpect直接访问应用程序的控制台屏幕缓冲区,以便无论应用程序使用哪种机制写入控制台(通过写入标准流或通过调用低端代码,级别的控制台输出功能),...

    C#动态执行批处理命令的方法

    在这个例子中,我们首先映射了一个网络驱动器,然后执行了`exit`命令来退出控制台程序。这样的好处是可以将命令序列化,按顺序执行,并且可以持续地输入命令直到用户决定退出。 除了上述内容,实现这个方法还需要...

Global site tag (gtag.js) - Google Analytics