Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Использование (вызов) WinAPI-функций в 1С8.2 (http://forums.kuban.ru/f1040/ispol-zovanie_vyzov_winapi-funkcij_v_1s8_2_a-8500758.html)

ComAlex 14.10.2017 00:06

Использование (вызов) WinAPI-функций в 1С8.2
 
Господа программисты!

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

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

ComAlex 15.10.2017 09:19

Тема закрыта

EarlyBird 15.10.2017 17:07

мы можем ещё что-то для тебя сделать?

scaramouche 15.10.2017 18:32

2-Ирли Бёрд > и так его разбаловали и не мало для него сделали


Текущее время: 20:10. Часовой пояс GMT +3.