Ожидание завершения ранее запущеного процесса - VB

Узнай цену своей работы

Формулировка задачи:

Есть некий код который запускает файл в системе root.exe после его завершения мне нужно выполнить в основной программе следующие действия, например msgbox "root.exe status closed." Нашёл такой код но он мне не подходит так как уже процесс запущен мне нужно получить PID и дождаться его завершения.
Листинг программы
  1. Dim v As Variant
  2. Set v = CreateObject("Wscript.Shell")
  3. v.run "c:\windows\notepad.exe", 1, True
  4. set v=nothing
  5. Beep 'пикнет только ПОСЛЕ того, как запущенная прога будет закрыта. Если не пикает, включи колонки.)
  6. MsgBox "qq"
Сяб вам.

Решение задачи: «Ожидание завершения ранее запущеного процесса»

textual
Листинг программы
  1. Public Sub WaitForProcessToEnd(cmdLine As String)
  2.  
  3.   Dim retVal As Long, pID As Long, pHandle, msWait As Long
  4.   msWait = 1000000000#
  5.    
  6.   pID = Shell(cmdLine)
  7.   pHandle = OpenProcess(&H100000, True, pID)
  8.   retVal = WaitForSingleObject(pHandle, msWait)
  9.    
  10. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы