запуск файла
' путь к временному каталогу
filepath$=Environ$("TEMP")
'аналогично проверьте переменную среды "TMP" или"TMPDIR"
' или в качестве временного каталога используйте заданный ранее filepath$
If filepath$<>"" Then
filepath$=Trim(filepath$) & "\"
End If
' во временном каталоге проверьте наличие файла "flag"
If Dir(filepath$ & "flag")<>"" Then
Kill filepath$ & "flag" ' если есть уберите его
End If
' кроме того в этом же каталоге возможно нахождения от предыдущего сеанса командного файла "comm.bat", который собственно и запускает внешнюю программу (cм далее)
If Dir(filepath$ & "comm.bat")<>"" Then
Kill filepath$ & "comm.bat"
End If
' создайте командный файл:
filenum1%=Freefile()
Open filepath$ & "comm.bat" For Output As filenum1%
' строка, запускающая внешнюю программу "programma.exe"
Print #filenum1,"programmat.exe"
' а эта строка создает флаговый файл
Print #filenum1,"echo > " & filepath$ & "flag"
Close #filenum1
'запустите командный файл
taskId=Shell(filepath$ & "comm.bat",7)
' проверьте taskId
....
'ждать пока не закочиться выполнение внешней программы и не создастся флаговый файл
Do While Dir(filepath$ & "flag")=""
Loop
' продолжать выполнение агента