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 не равным нулю. |
Примечания
После запуска указанной программы скрипт приостанавливается до завершения внешней программы.См. также
ShellExecute, Run, RunWait, RunAs, RunAsWaitПример
$iReturn = ShellExecuteWait("notepad.exe")
; Скрипт ожидает пока блокнот не закроется
MsgBox(4096, "Программа возвратила код выхода:", $iReturn)
Exit
; Сжатие файла "Boot.ini" в архив "Archive.7z" с паролем "Мой пароль"
ShellExecuteWait(@ProgramFilesDir & '\7-Zip\7z.exe', 'a "' & @HomeDrive & '\Archive.7z" -p"Мой пароль" -mhe -mx9 "' & @HomeDrive & '\Boot.ini"', '', '', @SW_HIDE)
; Сжатие папки "folder" в WIM-архив "Archive.wim"
ShellExecuteWait(@SystemDir & '\imagex.exe', '/capture "' & @HomeDrive & '\folder" "' & @HomeDrive & '\Archive.wim" "my label" /compress maximum', '', '', @SW_HIDE)
; Клонирование раздела жёсткого диска в файл
ShellExecuteWait(@ScriptDir & '\ghost32.exe', '-AUTO -Z1 -SPLIT=1900 -clone,mode=pdump,src=1:1,dst=1:2\ImageHDD\Part1HDD.gho -sure', '', '', @SW_HIDE)
; Запрещает пользователю Administrator доступ к папке "folder"
ShellExecuteWait(@SystemDir & '\cacls.exe', '"' & @ScriptDir & '\folder" /t /e /p "Administrator":N', '', '', @SW_HIDE)
; Разрешает пользователю Administrator доступ к папке "folder"
ShellExecuteWait(@SystemDir & '\cacls.exe', '"' & @ScriptDir & '\folder" /t /e /p "Administrator":F', '', '', @SW_HIDE)
; Модификация иконки в dll-файле
ShellExecuteWait(@ScriptDir & '\ResHacker.exe', '-modify "' & @ScriptDir & '\file.dll", "' & @ScriptDir & '\file.dll", ' & @ScriptDir & '\1.ico, IconGroup,1,', '', '', @SW_HIDE)