在传统VB程序中,你可以使用Shell函数启动一个应用程序。当你传送一个数据文件名的时候,VB在相应应用程序中打开这个数据文件。你可以使用一个任选的windowstyle参数控制所启动的应用程序的窗口方式。例如,在VB6中,下面这行代码将启动默认的文本编辑器(通常是记事本)并打开文件”D:\run.txt”:
returnID = Shell("D:\run.txt", vbNormalFocus)
在VB.NET中仍然能够使用Shell功能,并且它已经被做了一些改动,但在.NET框架中它并不是启动应用程序的最好的方法,因为Shell函数有一些严格的限制条件,特别是对外部程序的输入输出控制完全无能为力。而使用System.Diagnostics命名空间中的Process类来启动外部程序,可以简单的使用共享的 Process.Start方法启动一个新的过程,把一个可执行文件名或者可执行应用程序的扩展关联文件名作为参数传输给它。例如,下面的代码启动”D:\run.txt”文件:
System.Diagnostics.Process.Start("D:\run.txt")
ProcessStartInfo类是 Process 组件的一部分,使用 Process 类启动进程时,可以访问附加到当前运行进程时可用的进程信息之外的进程信息,可以使用 ProcessStartInfo 类来更好地控制您启动的进程。最吸引我们的是:通常,标准输入方式为键盘,标准输出和标准错误是显示在监视器屏幕上。然而,我们通过ProcessStartInfo类可以使用 RedirectStandardInput、RedirectStandardOutput 和RedirectStandardError 属性使进程从文件或其他设备获取输入,或者向文件或其他设备返回输出。
下面用一个实例说明,在窗体上放置一个多行文本框,两个按钮,一