Сообщение из Длл
От: MystiX  
Дата: 21.03.04 18:49
Оценка:
Есть длл с глобальным хуком, как передоть программе, что хук сработал?
Re: Сообщение из Длл
От: Paranoik  
Дата: 21.03.04 19:20
Оценка:
Здравствуйте, MystiX, Вы писали:

MX>Есть длл с глобальным хуком, как передоть программе, что хук сработал?


Моё мнение: SendMessage/PostMessage
Дружба не наследуется и не транзитивна.
©Бьерн Страуструп
Re: Сообщение из Длл
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 21.03.04 20:46
Оценка:
Очевидные варианты:
1) пассивный: просигналить какой-нибудь объект (напр., event), или создать FileMapping, и ждать, пока главная программа это поймет. А та, стало быть, или в WaitForMultipleObjects сидит, или просто периодически проверят, как там дела.
2) активный: перед установкой хука главное приложение создает маппинг и кидает туда хендл окна или какую-то другую контактную информацию, чтобы dll могла ее найти. dll при срабатывании хука шлет по полученному адресу сообщение / выполняет APC / что больше нравится.
3) извращенский: главная прога ставит дебагный хук и тот срабатывает перед срабатыванием собственно интересующего.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re: Сообщение из Длл
От: Leonid Troyanovsky  
Дата: 22.03.04 06:46
Оценка:
Здравствуйте, MystiX, Вы писали:

MX>Есть длл с глобальным хуком, как передоть программе, что хук сработал?


Раз уж он глобальный, "срабатывать" он будет единожды.
Если нужны результаты его работы, то проще всего WM_COPYDATA.
Хендл окна получателя, можно держать в именованном файлмаппинге.
Ну, или передавать его, например, для WH_GETMESSAGE, WH_CALL*,
в параметрах условленного сообщения.
--
С уважением, LVT
Re[2]: Сообщение из Длл
От: Leonid Troyanovsky  
Дата: 22.03.04 06:51
Оценка:
Здравствуйте, Leonid Troyanovsky, Вы писали:

LT> Раз уж он глобальный, "срабатывать" он будет единожды.


Имелось ввиду "не единожды", sorry.
--
С уважением, LVT
Re[2]: Сообщение из Длл
От: Leonid Troyanovsky  
Дата: 22.03.04 06:55
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>3) извращенский: главная прога ставит дебагный хук и тот срабатывает перед


А это классификация с точки зрения dll или главной проги?
Или, в 3 случае, это безразлично ?
--
С уважением, LVT
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.