上次我已介绍如何运行外部程序,今天我继续讲这一话题: 1.有好多时,我们需要调用外部的EXE程序,并且要等它运行完毕,我们才可以继续下面的动作,那我们怎样去实现了,请看以下代码. '怎样等待外部程序运行完毕. '从系统资料夹读入文件 Dim sysFolder As String = _ Environment.GetFolderPath(Environment.SpecialFolder.System) '创建一个新的进程结构 Dim pInfo As New ProcessStartInfo() '设置其成员FileName为系统资料的Eula.txt pInfo.FileName = sysFolder & "\eula.txt" '运行该文件 Dim p As Process = Process.Start(pInfo) '等待程序装载完成 p.WaitForInputIdle() '等待进行程退出 p.WaitForExit() '继续执行下面的代码 MessageBox.Show("继续执行代码")
2.我们想在5秒钟后,强行关闭它.而不是需要我手工关闭. '设置退出时间 Dim timeOut As Integer = 5000 Dim sysFolder As String = _ Environment.GetFolderPath(Environment.SpecialFolder.System) Dim pInfo As New ProcessStartInfo() pInfo.FileName = sysFolder & "\eula.txt" Dim p As Process = Process.Start(pInfo) p.WaitForInputIdle() p.WaitForExit(timeOut) '检查是否在超时前已关闭了. If p.HasExited = False Then '进行程还在运行 '看进程有没有回应 If p.Responding Then p.CloseMainWindow() '关闭窗口 Else p.Kill()'强行中断 End If End If MessageBox.Show("继续执行代码")
|