Описание функции


RunWait

Запускает внешнюю программу и приостанавливает выполнение утилиты до завершения внешней программы.

RunWait('program'[,'workingdir'[,show_flag[,opt_flag]]])

Параметры

program Полный путь к программе (EXE, BAT, COM, или PIF) для запуска.
workingdir [необязательный] Рабочий каталог. Это не путь к программе.
show_flag [необязательный] Режим отображения запускаемой программы:
@SW_HIDE = Скрыть окно (или ключ Default)
@SW_MINIMIZE = Свернуть окно
@SW_MAXIMIZE = Развернуть окно
opt_flag [необязательный] Управление различными опциями взаимодействия процессов родительского и дочернего.
0x10000 = Дочерний консольный процесс должен быть создан в собственном окне, вместо использования родительского окна. Этот флаг имеет смысл только, когда родительская программа скомпилирована как консольное приложение.

Возвращаемое значение

Успех:Возвращает код выхода из программы, которая была запущена.
Ошибка:Возвращает 0 и устанавливает @error не равным нулю.

Примечания

Пути с пробелами должны быть заключены в кавычки.

После запуска указанной программы скрипт приостанавливается до завершения внешней программы. Чтобы запустить программу, а затем немедленно продолжить выполнение скрипта используйте Run().

Некоторые программы выполнят возврат немедленно, даже если они все еще выполняются; эти программы порождают другие процессы - вы можете использовать функцию ProcessWaitClose() а таких случаях.

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null
Для передачи значения по умолчанию можно воспользоваться ключевым словом Default

См. также

ProcessWait, ProcessWaitClose, Run, ShellExecute, ShellExecuteWait, RunAs, RunAsWait

Примеры:
 Как создать кнопку?


exect=RunWait('notepad.exe')||MsgBox(4096,Null,'программа~~закрыта') ;; запускает "Блокнот" и приостанавливает работу утилиты до его закрытия

infht=0||InfoHtml1 dubls=2 exect=RunWait(@ComSpec&'~~/k') ;; вывести сообщение и запустить командную консоль в другом процессе утилиты

exect=RunWait(@ComSpec&'~~/c~~Robocopy~~''D:\TC_Util\TCIMG\338_b3''~~''D:\EXTT\88_88\1''~~/NDL') ;; копировать папку в другую с заданными параметрами утилиты robocopy


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru