EXECCONSOLEAPP — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 56: Строка 56:
 
*1 – условное ожидание. Форма, с которой произведен вызов, становится недоступной, но можно работать в других. По окончании работы внешней программы недоступная форма становится вновь доступной;
 
*1 – условное ожидание. Форма, с которой произведен вызов, становится недоступной, но можно работать в других. По окончании работы внешней программы недоступная форма становится вновь доступной;
 
*2 – без ожидания.
 
*2 – без ожидания.
Стандартный вывод консольных приложений, запущенных через ExecConsoleApp в режиме с ожиданием, перехватывается и записывается в переменную ''':AppStdOut'''
+
Стандартный вывод консольных приложений, запущенных через ExecConsoleApp в режиме с ожиданием (0 и 1), перехватывается и записывается в переменную ''':AppStdOut'''
 
}}
 
}}
 
|Результат=Целое число
 
|Результат=Целое число

Версия 12:59, 30 октября 2017

Выполняет внешнее приложение. Возвращает код завершения приложения, помещает его текстовый вывод в переменную :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 в режиме с ожиданием (0 и 1), перехватывается и записывается в переменную :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"`,
               ``
)