Как дождаться выполнения программы - VB
Формулировка задачи:
Есть программа на VB6 в ней код
Каким образом приостановить выполнение программы пока внешние приложение запушено?
Допускаю что функция shell здесь не уместна - но тогда какая?
Внешнее приложение тоже на vb6.(т.е рассмотрюю все варианты ;) )
Итак: Как организовать приостановку работы первой программы на время выполнения запущенной ей второй программы?
Заранее спасибо.
Каким образом приостановить выполнение программы пока внешние приложение запушено?
Допускаю что функция shell здесь не уместна - но тогда какая?
Внешнее приложение тоже на vb6.(т.е рассмотрюю все варианты ;) )
Итак: Как организовать приостановку работы первой программы на время выполнения запущенной ей второй программы?
Заранее спасибо.
Решение задачи: «Как дождаться выполнения программы»
textual
Листинг программы
Private <font color="blue">Declare</font> Function CreateProcessA Lib <b><font color="green">"kernel32"</font></b> (ByVal _ <br> lpApplicationName <font color="blue">As</font> Long, ByVal lpCommandLine <font color="blue">As</font> String, ByVal _ <br> lpProcessAttributes <font color="blue">As</font> Long, ByVal lpThreadAttributes <font color="blue">As</font> Long, _ <br> ByVal bInheritHandles <font color="blue">As</font> Long, ByVal dwCreationFlags <font color="blue">As</font> Long, _ <br> ByVal lpEnvironment <font color="blue">As</font> Long, ByVal lpCurrentDirectory <font color="blue">As</font> Long, _ <br> lpStartupInfo <font color="blue">As</font> STARTUPINFO, lpProcessInformation <font color="blue">As</font> _ <br> PROCESS_INFORMATION) <font color="blue">As</font> Long <br> <br>Private <font color="blue">Declare</font> Function WaitForSingleObject Lib <b><font color="green">"kernel32"</font></b> (ByVal _ <br> hHandle <font color="blue">As</font> Long, ByVal dwMilliseconds <font color="blue">As</font> Long) <font color="blue">As</font> Long <br> <br>Private <font color="blue">Declare</font> Function CloseHandle Lib <b><font color="green">"kernel32"</font></b> (ByVal _ <br> hObject <font color="blue">As</font> Long) <font color="blue">As</font> Long <br> <br>Private Const NORMAL_PRIORITY_CLASS = &H20& <br>Private Const INFINITE = -<b><font color="darkblue">1</font></b>& <br> <br>Private Type STARTUPINFO <br> cb <font color="blue">As</font> Long <br> lpReserved <font color="blue">As</font> String <br> lpDesktop <font color="blue">As</font> String <br> lpTitle <font color="blue">As</font> String <br> dwX <font color="blue">As</font> Long <br> dwY <font color="blue">As</font> Long <br> dwXSize <font color="blue">As</font> Long <br> dwYSize <font color="blue">As</font> Long <br> dwXCountChars <font color="blue">As</font> Long <br> dwYCountChars <font color="blue">As</font> Long <br> dwFillAttribute <font color="blue">As</font> Long <br> dwFlags <font color="blue">As</font> Long <br> wShowWindow <font color="blue">As</font> Integer <br> cbReserved2 <font color="blue">As</font> Integer <br> lpReserved2 <font color="blue">As</font> Long <br> hStdInput <font color="blue">As</font> Long <br> hStdOutput <font color="blue">As</font> Long <br> hStdError <font color="blue">As</font> Long <br><font color="blue">End</font> Type <br> <br>Private Type PROCESS_INFORMATION <br> hProcess <font color="blue">As</font> Long <br> hThread <font color="blue">As</font> Long <br> dwProcessID <font color="blue">As</font> Long <br> dwThreadID <font color="blue">As</font> Long <br><font color="blue">End</font> Type <br> <br> <br> <br>Public Sub ExecCmd(CmdLine$) <br> Dim proc <font color="blue">As</font> PROCESS_INFORMATION <br> Dim start <font color="blue">As</font> STARTUPINFO <br> Dim ret <font color="blue">As</font> Long <br> <font color="green">' Initialize the STARTUPINFO structure: <br> start.cb = Len(start) <br> '</font> Start the shelled application: <br> start.dwFlags = <b><font color="darkblue">1</font></b> <font color="green">'чтоб окно было невидимым. <br> <br> ret& = CreateProcessA(0&, CmdLine$, 0&, 0&, 1&, _ <br> NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) <br> <br> '</font> Wait <font color="blue">for</font> the shelled application to finish: <br> ret& = WaitForSingleObject(proc.hProcess, INFINITE) <br> ret& = CloseHandle(proc.hProcess) <br><font color="blue">End</font> Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д