大家可能会对VB.NET启动过程的实现不是很陌生,因为这一操作技巧是比较基础的,初学者在学习的过程中都应该会接触到。那么如何才能正确的实现VB.NET监视启动过程呢?在这里将会找答案。#t#
在启动这个过程之后,父程序中的代码才能继续执行。你需要一些监视被启动的过程的方法,并弄清楚它们什么时候退出或者是否仍在运行。根据你的应用程序的具体情况,你可能需要使用不同的方式来处理这个问题。
启动过程,停止你的程序直到它退出。
启动过程,监视它,并只有当它结束时才做某些事情,同时让你的程序正常地运行。
启动过程,给它一些输入,让它处理这些输入,然后强迫它退出。
启动过程,并且只要启动的过程正在运行或者运行期间没有出现问题,就执行某些操作。如果过程退出或者停止,你需要作出某些动作。
启动过程,并给它一些特殊的输入,并/或取得进一步处理产生的输出结果。例如,你可能想启动一个命令窗口,以编程方式在这个窗口中输入一些内容,然后取得并处理输出结果。
启动一个过程并等到它退出
等待一个启动的过程结束的最简单的方法时调用Process.WaitForExit方法。这导致正在启动的过程停止执行直到启动过的过程退出。然而不幸的是,当你直接从一个Windows窗体中使用这个方法的时候,它还能导致窗体停止对系统事件的响应,比如Paint。
所以一般来说你不会想从一个按钮中使用WaitForExit方法来启动一个外部程序(虽然使用WaitForExit方法非常适于从一个没有可视用户界面的应用程序中启动另一个过程,例如从一个ASP.net应用程序服务器中调用控制台应用程序)。样本窗体有一个名为"Launch and WaitForExit"的按钮,让你在从一个窗体中使用这个方法时能看到会发生什么情况。
VB.NET监视启动过程代码示例:
- Private Sub btnWaitForExit_Click( _
- ByVal sender As System.Object, _
- ByVal e As System.EventArgs) _
- Handles btnWaitForExit.Click
- '创建一个新过程
- Dim myProcess As Process = _
- System.Diagnostics.Process.
Start("sample.txt")- ' 等待直到它退出
- myProcess.WaitForExit()
- ' 显示结果
- MessageBox.Show("Notepad
was closed at: " & _- myProcess.ExitTime & "." & _
- System.Environment.NewLine
& "Exit Code: " & _- myProcess.ExitCode)
- myProcess.Close()
- End Sub
前面的例子说明一个有趣的情况。即使启动的过程结束后,你仍然有访问代码中的Process对象的能力;然而这种情况下,大多数Process属性是不可用的,因为过程本身不再存在。你仍然可以读取ExitCode和ExitTime属性,这两个属性分别返回整数和日期时间型的值。DOS命令设置了一个退出码,让你知道是否出现错误。
.NET和其他的Windows应用程序可以通过使用main方法的返回值设置这个值。默认情况下,这个值等于零。对于DOS命令,一个非零ExitCode值要么表明出现一个错误,要么表明命令过程被异常中止。
VB.NET监视启动过程的相关步骤就为大家介绍到这里啦。