CreateObject(\"shellexec.manager\");
Свойства:
cmdline As String
exectype As exectypes
execstyle As execstyles
где:
exectypes:
0 - запуск команды cmdline
1 - запуск: cmd /c cmdline
2 - запуск: command.com /c cmdline (command.com должен быть доступен)
execstyles:
0 - программа в cmdline будет скрыта (по умолчанию)
1 - обычный запуск cmdline
2 - cmdline минимизирована
3 - cmdline максимизирована
4 - обычный запуск cmdline, но без фокуса
6 - cmdline минимизирована без фокуса
waittypes:
0 - запуск синхронно, без ожидания запуска cmdline, при удаче возврат 1
1 - запуск: ожидает запуск cmdline, при удаче возвращает дескриптор открытого окна
2 - запуск: ожидает завершение процесса cmdline, при удаче возвращает 1
3 - запуск: ожидает запуск процесса cmdline, при удаче возвращает дескриптор открытого окна,
а при завершении передаст дескриптор, которое имело окно до закрытия в
v7.7: ОбработкаВнешнегоСобытия()
v8.0: процедуру приема внешнего события
Передача события при использовании параметра 3 обеспечивается через интерфейс AddIn.Messager:
v7.7:
ПодключитьВнешнююКомпоненту(\"AddIn.Messager\");
Messager = CreateObject(\"AddIn.Messager\");
shellexec = CreateObject(\"shellexec.manager\");
shellexec.ExtMessager=Messager;
Необходимо наличие и регистрация Messager.dll: regsvr32 Messager.dll
v8.0:
Форма-Вставить ActiveX: выбрать AddIn.Messager и разместить на форме, присвоить НужноеВамИмя
Форма-Свойства-События-PassEvent: разместить ссылку на процедуру приема внешнего события
shellexec = Новый ComObject(\"shellexec.manager\");
shellexec.ExtMessager=ЭтаФорма.ЭлементыФормы.НужноеВамИмя;
timeout: время задержки ответа execute (иногда м.б. полезно при передаче данных в порт), мс
Регистрация:
shellexec.exe /RegServer
RegSvr32 Messager.dll
Удаление регистрации:
shellexec.exe /UnRegServer
RegSvr32 Messager.dll /u
Если Вы использовали ранее shellexec, при замене версий нужно сначала удалить регистрацию,
затем просто запустить shellexec.exe - регистрация выполнится автоматически
Методы:
execute([cmdline As String], [exectype As Integer], [execstyle As Integer]):
без параметров: запускает cmdline согласно заполненным ранее свойствам
с параметрами: заполняет свойства значениями параметров и запускает cmdline
terminate
завершение работы ActevtX
полностю освобождает память, не ожидая завершения работы 1С
Параметры командной строки: shellexec(cmdline, exectype, execstyle)
выполняет execute(cmdline, exectype, execstyle)