Руководство разработчика

Функция СОЗДАТЬ_ПРОЦЕСС

Функция СОЗДАТЬ_ПРОЦЕСС позволяет из платформы запустить внешний исполняемый файл операционной системы Windows (.exe или .bat).

ФУНКЦИЯ ЦЕЛОЕ: СОЗДАТЬ_ПРОЦЕСС(СТРОКА: командная_строка; 
                               СТРОКА: раб_дир; 
                               ЛОГИКА: ждать; 
                               СТРОКА: опции = "")

Параметры

командная_строка
Значение в командной строке для запуска файла (путь к файлу и, при необходимости, набор параметров). Формат записи командной строки должен соответствовать принятому в операционной системе.
раб_дир
Рабочая папка запущенной программы (некоторые программы в процессе работы обращаются к файлам, хранящимся в рабочей папке). Если в командной строке указывается относительный путь к файлу – он указывается относительно рабочей папки. Если в качестве значения этого параметра указана пустая строка – используется рабочая папка.
ждать
Запуск внешнего процесса в синхронном или асинхронном режиме. ДА – синхронный запуск, платформа ожидает завершения процесса. НЕТ – асинхронный запуск, процессы платформы и запущенный внешний процесс могут выполняться параллельно.
опции
Опции запуска. Может указываться несколько опций, разделенных запятыми.

Варианты показа окна запущенной программы:
"MIN" окно программы отображается в минимизированном (свернутом) состоянии;
"MAX" окно программы отображается в максимизированном (развернутом) состоянии;
"HIDE" окно программы не отображается.
Выполнение (или невыполнение) команд показа зависит от запускаемой программы. Для консольных программ команды применяются к консольному окну. По умолчанию происходит нормальный показ окна.

Также опции задают необходимость запуска от имени Администратора:
"ADMIN" требуется запуск с правами администратора.

В 32-битной версии платформы, работающей в 64-битной Windows может потребоваться отключение перенаправления файловой системы. Для этой цели поддерживается специальная опция:
"NOFSREDIR" не выполняется перенаправление файловой системы из System32 в SysWOW64.
В 64-битной версии платформы эта опция игнорируется.

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

Код завершения программы. В случае ошибки запуска процесса (как в синхронном, так и в асинхронном режиме) функция возвращает -1. Например, ошибка может возникнуть, если указан неправильный путь к программе. По общепринятому соглашению, код 0 соответствует безошибочному выполнению программы, а любой код (например, 1) возвращается, если выполнение программы завершилось с ошибкой. В случае асинхронного запуска платформа не может получить результат выполнения внешней программы, поэтому при отсутствии ошибки запуска процесса функция всегда возвращает 0.

Пример:

ПЕРЕМ ЧИСЛО: код_выхода = СОЗДАТЬ_ПРОЦЕСС("rar.exe a –r backup.rar",
	РАБ_ДИР, ДА, "HIDE")
ОТЛАДКА(код_выхода)

См. также: