Страница: 1 | 2 |
Вопрос: Обмен данными между приложениями
Добавлено: 27.02.05 13:37
Автор вопроса: Rebel | Web-сайт:
есть два самописных VB-приложения на одной машине, охота чтоб одно передало другому какие-то данные по запросу. как??
ps winsock пользовать имхо дико...
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #1
Добавлено: 27.02.05 14:58
SendMessage возможно?
Номер ответа: 2
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #2
Добавлено: 27.02.05 15:10
а если ближе к коду?? наскока я знаю sendmessage рабоает по hwnd, который мона выцепить впринципе перебрав окна по заголовкам, а вот как его обрабатывать?? где и как писать wndproc?? как делать hook?? и тп??
Номер ответа: 3
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #3
Добавлено: 27.02.05 15:34
Через буфер обмена, через реест, через файл
Номер ответа: 4
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #4
Добавлено: 27.02.05 15:41
это все не катит, нада обмениваться напрямую, опятьже через вышеуказнных посредников не возможно понять работает ли апп, т.е. конечно можно, но лишний геморой...
Номер ответа: 5
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #5
Добавлено: 27.02.05 16:03
Это самые VB-шные пути обмена
вот как его обрабатывать??
Как любое событие: написать код, который будет выполняться при получении сообщения (сообщение может быть как например WM_USER+XXX, так и например WM_COPYDATA
где и как писать wndproc??
В обычном модуле, примеры в APIGuide можно посмотреть. Их там - как грязи...
как делать hook??
При чём здесь хук ???
Номер ответа: 6
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #6
Добавлено: 27.02.05 16:05
ИМХО, самый нормальный способ - через TCP.
Номер ответа: 7
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #7
Добавлено: 27.02.05 16:24
OpenFileMapping, MailSlots...
Номер ответа: 8
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #8
Добавлено: 28.02.05 01:21
А, имхо, самый VB'шный - DDE. Я даже где-то такое поучение читал (про OLE и DDE): эти средства должны использоваться как можно чаще. Типа, не зря же их выдумывали.
SendMessage - сабклассинг.
TCP - винсоки, коннект, морока.
Буфер обмена - ваще порожняк можно спороть юзеру.
Файл и реестр - слишком непрофессионально как-то, не считая того, что остаётся проблемой узнать, когда файл изменился - это надо по таймеру проверять.
Номер ответа: 9
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #9
Добавлено: 28.02.05 01:26
Да, вот ещё вспомнил.
Как-то слышал про такую феньку - именованные трубы (named pipes). У меня даже пример был - тока там библия была без исходника.
Так что можно ещё и это попробовать.
Номер ответа: 10
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #10
Добавлено: 28.02.05 08:34
ИМХО, самый нормальный способ из вышеперечисленных это TCP, про DDE к сожалению не знаю
Номер ответа: 11
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #11
Добавлено: 28.02.05 15:48
народ, а как при помощи DDE под VB6 сделать, я с DDE только в SDK работал... помгите плз, поделитесь примерчиками
Номер ответа: 12
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #12
Добавлено: 01.03.05 21:50
На пальцах долго объяснять - ищи в примерах или мыль мне - я тебе пну.
Номер ответа: 13
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #13
Добавлено: 02.03.05 00:13
DDE, mail слоты, именованые каналы, SendMessage.
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 02.03.05 12:50
Пайпы, менее предпочтительно майлслоты
Номер ответа: 15
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #15
Добавлено: 02.03.05 15:16
ну собстна примерчики по DDE (да и не только) встречаются на мыло atr_temp@mail.ru ... заранее благодарю за примеры