vb 利用shell调用程序时如何等待其结束后再继续往下执行
(2016-12-19 11:03:36)
标签:
vb多线程同步线程shell确认结束 |
分类: VB |
我们经常会碰到这种情况,在利用shell调用一个外部程序后,需要等待其执行结束后,方可继续执行接下来的代码。这种情况下应该如何实现呢?
Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = &HFFFFFFFF
Private Declare Function OpenProcess Lib "kernel32" (ByVal
dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal
dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32"
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal
hObject As Long) As Long
Dim lngPId As Long
Dim lngPHandle As Long
lngPId = Shell("tmp.bat", vbHide) ''调用程序,并取得进程标识符
lngPHandle = OpenProcess(SYNCHRONIZE, 0, lngPId)'返回值为指定进程的打开句柄。
If lngPHandle <> 0 Then
End If

加载中…