Запуск внешних приложений из формы VB

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

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

Добрый день! Возникла проблема, с которой не могу справиться: Нужно в программе запустить подряд два внешних приложения, причем второе должно выполняться, когда закончит работу первое. Никаких функций кроме shell для запуска не нашел, а в справке указано, что shell выполняется асинхронно. Посоветуйте, как решить проблему. Заранее спасибо.

Решение задачи: «Запуск внешних приложений из формы VB»

textual
Листинг программы
  1. Public Const STILL_ACTIVE = &H103&
  2. Public Const PROCESS_QUERY_INFORMATION = &H400&
  3.  
  4. Public Declare Function OpenProcess Lib 'kernel32' (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  5. Public Declare Function GetExitCodeProcess Lib 'kernel32' (ByVal hProcess As Long, lpExitCode As Long) As Long
  6. Public Declare Function CloseHandle Lib 'kernel32' (ByVal hObject As Long) As Long
  7.  
  8. Private Sub WaitProcessFinish(ByVal plngProcessId&)
  9.    Dim lngProcessHandle&
  10.    Dim lngExitCode&
  11.  
  12.    lngProcessHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, plngProcessId)
  13.  
  14.    Do
  15.       Call GetExitCodeProcess(lngProcessHandle, lngExitCode)
  16.       DoEvents
  17.    Loop While lngExitCode = STILL_ACTIVE
  18.  
  19.    Call CloseHandle(lngProcessHandle)
  20. End Sub
  21.  
  22. Sub Main()
  23.     WaitProcessFinish Shell('zzz.exe', vbNormalFocus)
  24. End Sub

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


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

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

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

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

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

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