使用vb.net等待外部程序运行完毕才继续-.Net技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Windows开发 >> 使用vb.net等待外部程序运行完毕才继续

使用vb.net等待外部程序运行完毕才继续

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:54  文字大小:【】【】【
简介:上次我已介绍如何运行外部程序,今天我继续讲这一话题: 1.有好多时,我们需要调用外部的EXE程序,并且要等它运行完毕,我们才可以继续下面的动作,那我们怎样去实现了,请看以下代码.      &...
关键字:外部 运行 程序 net vb

上次我已介绍如何运行外部程序,今天我继续讲这一话题:

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("继续执行代码")

责任编辑:admin
相关文章