用Process启动新的程序,并捕获它的标准输出流

本文介绍如何使用.NET Framework的Process类从启动的外部程序中读取标准输出。提供了两种方法:一种适用于.NET Framework 2.0,另一种适用于1.1及2.0版本。通过设置属性并监听事件,能够实时捕获输出数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/qkhh/archive/2009/03/18/1415390.html


本文测试的是,用System.Diagnosis.Process启动新的程序,从它的标准输出流中读取输出,然后将输出显示界面的TextBox中。先看Process类提供的几个相关属性和方法。
1. bool RedirectStandardOutput
表示是否重定向标准输出。如果想从标准输出流中读取输出,这个属性必需设为True。(Framework 1.1中没有这个属性)。

2. bool UseShellExecute
表示是否从控制台启动。如果想从标准输出流中读取输出,这个属性必需设为False。(Framework 1.1中没有这个属性)。

3. event OutputDataReceived
这是一个事件,如果给它指定响应函数,响应函数中就能够获取到输出的数据。(Framework 1.1中没有这个事件)。
 
4. StreamReader StandardOutput
标准输出流。

下面用两种方式来实现从标准输出流中读取输出。第一种方法适合于 .NET Framework 2.0 平台,第二种适合于 .NET Framework1.1 和 2.0。

第一种方法:适合于 .NET Framework 2.0 平台

第二种方法:适合于 .NET Framework 1.1 和 2.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值