![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Undie |
|
|||
|
Unregistered |
Собственно, ПРОБЛЕМА. Есть хук, который ловит нажатие CTRL-SHIFT. По этому нажатию генерируется сообщение WM_USER. Если окно, которому посылают сообщение активно, то оно нормально ловится. Если же окно неактивно, сообщение пропадает в никуда. Я уж всеь интернет перерыл - не нашел в чем тут дело.. Посоветуйте, если кто имел дело с такой штукой. Пишу в C++ Builder 6.
Вот кусочки кода: --- HookDLL.cpp --- if (ctrl_p && shift_p) { MessageBox(NULL, "CTRL-SHIFT!", "...testing...", MB_OK); PostMessage(Mmf.apphwnd, WM_USER + 2000, wParam, lParam); } else return CallNextHookEx(0, code, wParam, lParam); --- end --- MessageBox работает всегда, как и задумывалось :-) Mmf.apphwnd - хендлер окна, передается при установке хука В описании класса: --- Unit1.h --- public: // User declarations __fastcall TForm1(TComponent* Owner); MESSAGE void __fastcall HookMsg(TMessage& Msg); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_USER + 2000, TMessage, HookMsg) END_MESSAGE_MAP(TForm); --- end --- Ловилка сообщений: --- Unit1.cpp --- void __fastcall TForm1::HookMsg(TMessage& Msg) { char s[100]; itoa(Msg.WParam, s, 10); MessageBox(NULL, s, "ну надо же!", MB_OK); } --- end --- Вот так.. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |