本文测试的是,用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
标准输出流。
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 平台
Code
第二种方法:适合于 .NET Framework 1.1 和 2.0
Code