Дождаться выполнения команды выполняемой через ShellExecute - VB

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

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

Вот пример кода, извените, что на VB, который вроде нормально дожидается завершения исполняемых файлов. А вот если ему подсунуть например vbs скрипт для выполнения, то он SEI.hProcess возвращает 0 и соответственно ничего не дожидается. Не подскажите как с этим бороться?
Dim lExecResult As Long
Dim SEI As SHELLEXECUTEINFO
If bSyncr Then
With SEI
.cbSize = Len(SEI)
.fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
.hwnd = 0
.lpVerb = "open"
.lpFile = FilePath
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
lExecResult = ShellExecuteEX(SEI)
lExecResult = WaitForSingleObject(SEI.hProcess, INFINITE)
lExecResult = CloseHandle(SEI.hProcess)

Решение задачи: «Дождаться выполнения команды выполняемой через ShellExecute»

textual
Листинг программы
<font color="blue">Set</font> WshShell = CreateObject(<font color="green">"WScript.Shell"</font>)
ReturnValue = WshShell.Run(<font color="green">"wscrirt.exe myscript.vbs"</font>, , True)

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


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

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

8   голосов , оценка 4 из 5