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-Ирли Бёрд > и так его разбаловали и не мало для него сделали | |
| Интернет-форум Краснодарского края и Краснодара |