VB运行EXE程序,并等待其运行结束
参考:https://blog.csdn.net/useway/article/details/5494084
@H_403_12@Private @H_403_12@Declare @H_403_12@Function WaitForSingleObject @H_403_12@Lib "kernel32" (@H_403_12@ByVal hHandle @H_403_12@As @H_403_12@Long,@H_403_12@ByVal dwMilliseconds @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Declare @H_403_12@Function CloseHandle @H_403_12@Lib "kernel32" (@H_403_12@ByVal hObject @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Declare @H_403_12@Function OpenProcess @H_403_12@Lib "kernel32" (@H_403_12@ByVal dwDesiredAccess @H_403_12@As @H_403_12@Long,@H_403_12@ByVal bInheritHandle @H_403_12@As @H_403_12@Long,@H_403_12@ByVal dwProcessId @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Sub Command1_Click() @H_403_12@Dim i @H_403_12@As @H_403_12@Long @H_403_12@Dim r @H_403_12@As @H_403_12@Long @H_403_12@Dim p @H_403_12@As @H_403_12@Long i = @H_403_12@Shell("NOTEPAD.EXE",vbNormalFocus) p = OpenProcess(&H100000,@H_403_12@False,i) r = WaitForSingleObject(p,-1) r = CloseHandle(p) @H_403_12@MsgBox "记事本已经关闭" @H_403_12@End Sub
VB运行批处理文件,并等待其运行结束
参考:http://blog.sina.com.cn/s/blog_7a44d6090100xdvf.html
@H_403_12@Private @H_403_12@Declare @H_403_12@Function OpenProcess @H_403_12@Lib "kernel32" (@H_403_12@ByVal dwDesiredAccess @H_403_12@As @H_403_12@Long,@H_403_12@ByVal dwProcessId @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Declare @H_403_12@Function GetExitCodeProcess @H_403_12@Lib "kernel32" (@H_403_12@ByVal hProcess @H_403_12@As @H_403_12@Long,lpExitCode @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Declare @H_403_12@Function CloseHandle @H_403_12@Lib "kernel32" (@H_403_12@ByVal hObject @H_403_12@As @H_403_12@Long) @H_403_12@As @H_403_12@Long @H_403_12@Private @H_403_12@Sub Command1_Click() @H_403_12@Dim pid @H_403_12@As @H_403_12@Long @H_403_12@Dim ExitCode @H_403_12@as @H_403_12@Long pid = @H_403_12@Shell("c:\a.bat",vbNormalFocus) hProcess = OpenProcess(&H400,0,pid) @H_403_12@Do @H_403_12@Call GetExitCodeProcess(hProcess,ExitCode) DoEvents @H_403_12@Loop @H_403_12@While ExitCode = &H103 @H_403_12@Call CloseHandle(hProcess) @H_403_12@MsgBox ("运行结束") @H_403_12@End Sub