Функция СОЗДАТЬ_ПРОЦЕСС
Функция СОЗДАТЬ_ПРОЦЕСС позволяет из платформы запустить внешний исполняемый файл операционной системы Windows (.exe или .bat).
ФУНКЦИЯ ЦЕЛОЕ: СОЗДАТЬ_ПРОЦЕСС(СТРОКА: командная_строка; СТРОКА: раб_дир; ЛОГИКА: ждать; СТРОКА: опции = "")
Параметры
- командная_строка
- Значение в командной строке для запуска файла (путь к файлу и, при необходимости, набор параметров). Формат записи командной строки должен соответствовать принятому в операционной системе.
- раб_дир
- Рабочая папка запущенной программы (некоторые программы в процессе работы обращаются к файлам, хранящимся в рабочей папке). Если в командной строке указывается относительный путь к файлу – он указывается относительно рабочей папки. Если в качестве значения этого параметра указана пустая строка – используется рабочая папка.
- ждать
- Запуск внешнего процесса в синхронном или асинхронном режиме. ДА – синхронный запуск, платформа ожидает завершения процесса. НЕТ – асинхронный запуск, процессы платформы и запущенный внешний процесс могут выполняться параллельно.
- опции
- Опции запуска. Может указываться несколько опций, разделенных запятыми.
Варианты показа окна запущенной программы:"MIN" – окно программы отображается в минимизированном (свернутом) состоянии; "MAX" – окно программы отображается в максимизированном (развернутом) состоянии; "HIDE" – окно программы не отображается.
Также опции задают необходимость запуска от имени Администратора:"ADMIN" – требуется запуск с правами администратора.
В 32-битной версии платформы, работающей в 64-битной Windows может потребоваться отключение перенаправления файловой системы. Для этой цели поддерживается специальная опция:"NOFSREDIR" – не выполняется перенаправление файловой системы из System32 в SysWOW64.
Возвращаемое значение
Код завершения программы. В случае ошибки запуска процесса (как в синхронном, так и в асинхронном режиме) функция возвращает -1. Например, ошибка может возникнуть, если указан неправильный путь к программе. По общепринятому соглашению, код 0 соответствует безошибочному выполнению программы, а любой код (например, 1) возвращается, если выполнение программы завершилось с ошибкой. В случае асинхронного запуска платформа не может получить результат выполнения внешней программы, поэтому при отсутствии ошибки запуска процесса функция всегда возвращает 0.
Пример:
ПЕРЕМ ЧИСЛО: код_выхода = СОЗДАТЬ_ПРОЦЕСС("rar.exe a –r backup.rar", РАБ_ДИР, ДА, "HIDE") ОТЛАДКА(код_выхода)