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


ShellExecuteWait

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

ShellExecuteWait('filename'[,'parameters'[,'workingdir'[,'verb'[,showflag]]]])

Параметры

filename Имя или путь запускаемого файла (EXE, .txt, .lnk, и т.д.).
parameters [необязательный] Любые параметры запуска программы. Оставьте пустым ('') чтобы не использовать.
workingdir [необязательный] Рабочий каталог. Оставьте пустым ('') чтобы использовать текущий рабочий каталог.
verb [необязательный] Действие с файлом определяемое пунктом в реестре, может быть одним из следующих:
'open' = Открывает указанный файл. Файл может быть исполняемый, документ или папка
'edit' = Запускает редактор и открывает документ для редактирования. Если файл не является файлом документа, то функция не выполняется
'print' = Печатает указанный файл документа. Если файл не является файлом документа, то функция не выполняется
'properties' = Отображает свойства файла или папки
Смотрите примечания для получения дополнительной информации о поведении, когда не указано действие.
showflag [необязательный] Режим отображения запускаемой программы:
@SW_HIDE = Скрыть окно (или ключ Default)
@SW_MINIMIZE = Свернуть
@SW_MAXIMIZE = Развернуть

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

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

Примечания

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

Если действие не указано, то используется действие по умолчанию. Действие по умолчанию указывается в реестре. Если в реестре не указано действие по умолчанию, то используется действие 'open' из реестра. Если действие 'open' отсутствует, тогда выполняется первое действие из перечисленных в реестре (за исключением Windows 2000).

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

См. также

ShellExecute, Run, RunWait, RunAs, RunAsWait

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


exect=ShellExecuteWait('notepad.exe') ;; запускает "Блокнот" и приостанавливает работу утилиты до его закрытия

exect=$var_sf='%P%N'||$var_st='C:\TempHH\'||ShellExecuteWait('hh','-decompile~~'&'$var_st'&'~~'&'$var_sf') movee=$var_st||<info=o75%P%N//>//0||<info=o72%P%N//>||upd<1> ;; распаковать chm под курсором в активную панель в именную папку (с предварительной распаковкой в каталог TempHH и перемещением в активную панель)

exect=$var_sf='%P%N'||$var_st='C:\TempHH\'||ShellExecuteWait('hh','-decompile~~'&'$var_st'&'~~'&'$var_sf') movee=$var_st||<info=o75%P%N//>//0||<info=o72%P%N//> delsm=%P%N||1||upd<1> ;; распаковать chm под курсором в активную панель в именную папку (с предварительной распаковкой в каталог TempHH и перемещением в активную панель) с удалением исходника


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