EXECCONSOLEAPP
Выполняет внешнее приложение. Возвращает код завершения приложения, помещает его текстовый вывод в переменную :AppStdOut
Синтаксис
Вариант 1 - выполнение операции над указанным файлом, используя приложение по умолчанию
EXECCONSOLEAPP(`shellexecute`, Операция, Файл, Параметры, Путь к файлу, Вид окна)
либо (упрощенный вариант)
EXECCONSOLEAPP(`start`, Файл, Режим)
Вариант 2 – запуск консольного приложения
EXECCONSOLEAPP(Командная строка, Режим ожидания)
Аргументы
- Операция
- Одна из операций Windows, варианты:
- `find` – стандартный поиск Windows (файлов, папок, компьютеров и т.д.). Файл - путь к папке, начиная с которой выполняется поиск, остальные параметры не используются.
- `explore` – стандартный проводник Windows. Файл - путь к папке, на которой открывается проводник, остальные параметры не используются.
- `edit` – редактирование файла в приложении по умолчанию
- `open` – открытие файла в приложении по умолчанию
- `print`,`printto` – печать файла из приложения по умолчанию
- Файл
- Имя файла, с которым следует выполнить операцию.
- Параметры
- Список параметров, передаваемых загружаемому приложению. Например, для операции printto параметром может быть имя принтера
- Путь к файлу
- Путь к файлу, указанному в параметре Файл. Если Файл уже содержит путь, то Путь=пустая строка
- Вид окна
- Вид окна приложения (необязательный параметр):
- 0 (`SW_HIDE`) - скрывает окно загружаемого приложения и активизирует другое окно;
- 1 (`SW_SHOWNORMAL`) - отображает главное окно приложения и делает его активным. Если окно приложения минимизировано или максимизировано, Windows восстанавливает его первоначальный размер и позицию;
- 2 (`SW_SHOWMINIMIZED`) - окно загружаемого приложения минимизировано;
- 3 (`SW_MAXIMIZE`) - раскрывает окно приложения на весь экран и делает его активным;
- 4 (`SW_SHOWNOACTIVATE`) - отображает окно приложения в его последних сохранённых размерах, но не делает его активным.
- Командная строка
- строка, полный или относительный путь к исполняемому файлу, а также аргументы командной строки (ключи).
- Для вызова команд ОС нужно использовать синтаксис «cmd /c <команда>».
- Режим
- строка, режим запуска Windows-приложения для функции ShellExecute:
- `open` – открытие документа
- `print` – печать документа.
- Режим ожидания
- целое число:
- 0 – с ожиданием. Никакие формы ГБ недоступны до окончания работы внешней программы;
- 1 – условное ожидание. Форма, с которой произведен вызов, становится недоступной, но можно работать в других. По окончании работы внешней программы недоступная форма становится вновь доступной;
- 2 – без ожидания.
Стандартный вывод консольных приложений, запущенных через ExecConsoleApp в режиме с ожиданием, перехватывается и записывается в переменную :AppStdOut
Тип результата
- Целое число
Примеры
Запустит "Блокнот":
ExecConsoleApp(`start`, `notepad`)
Удалит из папки c:\temp все файлы:
ExecConsoleApp(`cmd /c del c:\temp\*.txt`, 2)
Запустит проводник Windows и отобразит в нём папку "e:\1\":
ExecConsoleApp(`shellexecute`, `explore`, `e:\1\`, ``, ``, `SW_SHOWNORMAL`)
Запустит winrar.exe, который создаст архив C:\myarchive.rar и заархивирует файл "C:\Program Files\WinRAR\WinRAR.chm":
ExecConsoleApp(`shellexecute`, `open`, `"C:\Program Files\WinRAR\WinRAR.exe"`, `a C:\myarchive.rar "C:\Program Files\WinRAR\WinRAR.chm"`, `` )