Использование (вызов) WinAPI-функций в 1С8.2

1. user832312 13.10.17 23:31 Сейчас в теме
Господа программисты!

Помогите решить следующую задачу:

Мне нужно запустить 1С8.2 базу и зафиксировать ID этого процесса
Стал эту задачу решать так:


WinAPI = ПолучитьCOMОбъектИзМакета("DynamicWrapperX", "DynamicWrapperX"); // подключение DynamicWrapperX (это всё работает)
Если WinAPI <> Неопределено Тогда
WinApi.Register("Kernel32.DLL", "CreateProcess", "i=sspplppspp", "f=l", "r=l");

I0=WinAPI.Space(256);
I1=WinAPI.Space(256);
I2=WinAPI.Space(256);
I3=WinAPI.Space(256);
I4=WinAPI.Space(256);
I5=WinAPI.Space(256);
I6=WinAPI.Space(256);

StartupInfo=WinAPI.Space(256*4+128);

Info=WinAPI.Space(256); // необходимо 4 DWord
pStr=WinAPI.StrPtr(Info); // Запоминаю указатель (в будущем потребуется)

WinApi.Register("Kernel32.DLL", "CreateProcess", "i=ssppllpspp", "f=s", "r=l"); // регистрация прошла успешно
I=WinAPI.CreateProcess("",СтрокаЗапуска,I1,I2,0,0,I5,Директория,StartupInfo,Info); // Вот это НЕ РАБОТАЕТ
КонецЕсли;


Если блок заработает, то из Info получу ID потока.
Но блок не работает!

Где-то ошибаюсь с параметрами функции CreateProcess типа указатель, неправильно вызываю ...
Может у кого-нибудь был опыт использования функций WinApi или решение проще ...
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user832312 15.10.17 09:22 Сейчас в теме
3. YanTsys 12 15.10.17 14:48 Сейчас в теме
(2) А примерчик можно как в итоге заработало?
4. user832312 15.10.17 18:28 Сейчас в теме
Решения пока у меня нет и никто не дал :)
В отчаянии закрыл тему, но проблема не решена!
Думаю, надо пойти другим путем:
Получить список всех запущенных процессов 1С и вытащить PID и командную строку процесса при помощи WinApi
На языке 1С: получу ТЗ с двумя колонками "PID","CMD".
Мне нужно это соответствие в своей задаче.
Таким образом, получу что-то вроде монитора работающих 1С

Как только пройду этот порог, отпишусь, если интересно.
Проблема - с указателями ...
5. YanTsys 12 16.10.17 20:20 Сейчас в теме
(4) а у этой библиотеки DynamicWrapperX код открытый?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот