Запуск внешних приложений из формы VB
Формулировка задачи:
Добрый день!
Возникла проблема, с которой не могу справиться:
Нужно в программе запустить подряд два внешних приложения, причем второе должно выполняться, когда закончит работу первое. Никаких функций кроме shell для запуска не нашел, а в справке указано, что shell выполняется асинхронно. Посоветуйте, как решить проблему.
Заранее спасибо.
Решение задачи: «Запуск внешних приложений из формы VB»
textual
Листинг программы
- Public Const STILL_ACTIVE = &H103&
- Public Const PROCESS_QUERY_INFORMATION = &H400&
- Public Declare Function OpenProcess Lib 'kernel32' (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
- Public Declare Function GetExitCodeProcess Lib 'kernel32' (ByVal hProcess As Long, lpExitCode As Long) As Long
- Public Declare Function CloseHandle Lib 'kernel32' (ByVal hObject As Long) As Long
- Private Sub WaitProcessFinish(ByVal plngProcessId&)
- Dim lngProcessHandle&
- Dim lngExitCode&
- lngProcessHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, plngProcessId)
- Do
- Call GetExitCodeProcess(lngProcessHandle, lngExitCode)
- DoEvents
- Loop While lngExitCode = STILL_ACTIVE
- Call CloseHandle(lngProcessHandle)
- End Sub
- Sub Main()
- WaitProcessFinish Shell('zzz.exe', vbNormalFocus)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д