Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обмен данными между двумя приложениями [D5, Win95/98, WinME, NT4, Win2k, WinXP]


Анатолий ©   (2002-12-15 19:05:00) 

Существует проблема:
надо организвать обмен данными между двумя запущенными программами, немогу выбрать механизм передачи данных, sendmessage и буфер обмена отпадают, Если делать через OLE, то надо регистрировать одну из программ, чтобы получить CLSID, как поступить ? сейчас увидел мессагу в форуме от 2000 года, в ней что то о совместной памяти двух приложений, Memory mapped files по-моему, если кто нибудь делал что то подобное или представляет себе процесс шлите всё на почту !!!!
очень надо !


int64   (2002-12-15 22:07:00) [1]

Ещё можно добавить DDE, pipes, сокеты.
Примеры намылил (тамже WM_CopyData и MMF).
А также порекомендую интересный пример связи с подключениями к событиям СОМ через IConnectionPointContainer:
http://www.techvanguards.com/files/DelphiSinkDemo.zip


Оливейра   (2002-12-15 21:24:00) [2]

В принципе, если вы знакомы с OLE...

см. GlobalAlloc, CreateStreamOnHGlobal, GetHGlobalFromStream и интерфейс IStream.

Сам полученный HGlobal можно передавать посредством SendMessage.


Юрий Зотов   (2002-12-15 20:32:00) [3]

1. Почему отпадают SendMessage/PostMessage/PostThreadMessage и им подобные? Если из-за размера передаваемой информации, то обратите внимание на WM_COPYDATA. Это, наверное, самый простой способ.

2. Memory mapped file - немного сложнее, но тоже решает задачу. Сделайте поиск слова CreateFileMapping или посмотрите простой пример здесь:
http://www.delphikingdom.com/helloworld/samples_win.htm
(пример № 1): http://delphi.mtu-net.ru/zip/cunnings.zip


Sha   (2002-12-15 19:47:00) [4]

А самому поискать трудно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо