VB等待进程结束

前端之家收集整理的这篇文章主要介绍了VB等待进程结束前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

VB运行EXE程序,并等待其运行结束

参考:https://blog.csdn.net/useway/article/details/5494084

  1. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long,ByVal dwMilliseconds As Long) As Long
  2. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  3. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long,ByVal bInheritHandle As Long,ByVal dwProcessId As Long) As Long
  4. Private Sub Command1_Click()
  5. Dim i As Long
  6. Dim r As Long
  7. Dim p As Long
  8. i = Shell("NOTEPAD.EXE",vbNormalFocus)
  9. p = OpenProcess(&H100000,False,i)
  10. r = WaitForSingleObject(p,-1)
  11. r = CloseHandle(p)
  12. MsgBox "记事本已经关闭"
  13. End Sub

VB运行批处理文件,并等待其运行结束

参考:http://blog.sina.com.cn/s/blog_7a44d6090100xdvf.html

  1. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long,ByVal dwProcessId As Long) As Long
  2. Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long,lpExitCode As Long) As Long
  3. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  4. Private Sub Command1_Click()
  5. Dim pid As Long
  6. Dim ExitCode as Long
  7. pid = Shell("c:\a.bat",vbNormalFocus)
  8. hProcess = OpenProcess(&H400,0,pid)
  9. Do
  10. Call GetExitCodeProcess(hProcess,ExitCode)
  11. DoEvents
  12. Loop While ExitCode = &H103
  13. Call CloseHandle(hProcess)
  14. MsgBox ("运行结束")
  15. End Sub

猜你在找的VB相关文章