![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Гость |
![]()
Сообщение
#1
|
Гость ![]() |
Вот такой вот интересный вопрос... 2 программы на одном компьютере как могут обменяться данными?
Ну не сокеты конечно ![]() Можно обменяться через файл, но это слишком примитивно, т.к. надо постоянно дожидаться новой записи из файла это слишком большая нагрузка - непозволительно. Может можно как через память обмен совершить напрямую сообщениями? Хочу сделать что-то вроде такой схемы: При вызове такого-то расширения стартует моя программа. Если копия уже открыта, то эта закрывается и передает свой параметр (параметр в командной строке) первой, а сам на закрытие... таким образом активна постоянно одна прога, а копии отсылают только свои командные строки, с которыми они были вызваны... |
![]() ![]() |
Dark |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
помоему где то на форуме видел =) поиском не буду искать...
Винда обменивается сообщениями, вот их и посылаешь другому приложению! Дальше, при создании окна есть такой параметр который следит за копиями окна (по моему так) и его можно проконтролировать это низкий уровень WINAPI =0)) -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Guest |
![]()
Сообщение
#3
|
Гость ![]() |
а это именно обычные строчные сообщения? Или обмениваться чем угодно не получится?
По-моему как-то я читал про обмен через какую-то TMemoryStream то ли что-то в этом направлении.... ток на данный момент забыл эту фишку ![]() |
Dark |
![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нет, я имел ввиду что программам можно посылать сообщения при помощи менеджера сообщений винды. У каждой виндопрограммы есть свой обработчик этих сообщений, например WM_EXIT - и оно закрывается =)))
Соответственно есть пользовательское сообщение у него 2 параметра, через них можно передавать инфу... Поищи по WM_EXIT либо в хелпе дельфи либо по инету... -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Shadow |
![]()
Сообщение
#5
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
это динамический обмен данными DDE (Dinamical Data Exchange) одно приложение работает как сервер другое как клиент
смотри компоненты DdeServerConv , DdeClientConv , DdeServerItem,DdeClientItem --------- книга программирование в DELPHI 7 А.Я.Архангельский стр. 461 -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
hiv |
![]()
Сообщение
#6
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
DDE не советую пользоваться, их поддержка в винде приостановлена, в смысле они конечно есть, но баги в них не правят и не развивают. А багов там много - я эту вещь пробовал... (правда его сетевую версию NetDDE)
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Romtek |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
Я в этом не уверен, но может запустить поток в одной программе. А другая программа его "словит" и завершит?
У потока будет свой ID и его можно будет определить обеими программами. Сам не пробовал, не знаю. -------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 11:37 |