Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сообщение от хука неактивному окну, -- не получается чего-то ;-) 
:(
    Опции темы
Undie
  Дата 19.2.2003, 07:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.