К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

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

Гость
0 - 14.10.2017 - 00:06
Господа программисты!

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

Мне нужно запустить 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 или решение проще ...



Гость
1 - 15.10.2017 - 09:19
Тема закрыта
2 - 15.10.2017 - 17:07
мы можем ещё что-то для тебя сделать?
Гость
3 - 15.10.2017 - 18:32
2-Ирли Бёрд > и так его разбаловали и не мало для него сделали


К списку вопросов






Copyright ©, Все права защищены