Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

Хук на GETMESSAGE   Найти похожие ветки 

 
socket   (2002-03-15 22:11) [0]

Здрасть.

Помогите разобраться с хуком.
Поставил.
Стоит.
Но добрать до lParam и wParam добраться не могу.
На хук срабатывет функция GetMsgProc, там в lParam должен храниться указатель на структуру MSG, вроде все нормально но получить доступ к структуре не могу.

Как грамотно организовать сабж?
Спасибо.


 
Cobalt ©   (2002-03-16 12:27) [1]

функция GetMsgProc - stdcall?
А то я сам так навернулся однажды.


 
socket   (2002-03-17 09:18) [2]

извини конечно, но с озвратом у меня все нормально.
Вот смотри.
так я вызвал SetWindowsHookEx:
SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC) GetMsgProc,(HINSTANCE) NULL, GetCurrentThreadId()), где (HOOKPROC) GetMsgProc это мною определенная функция:
GetMsgProc(nCode, wParam, lParam), тут в wParam хранится признак сообщение(будет он удален из очереди или нет), а lParam - это указатель на структуру MSG где собственно и храниться информация о сообщении.
Вопрос как добраться до MSG?
Возможно я что-то делал не так с самого начала?


 
VuDZ ©   (2002-03-17 10:00) [3]

lParam
[in] Pointer to an MSG structure that contains details about the message.

т.е. приходит указатель на структуру

на С++ это делается так:
MSG *msg = static_cast<MSG*>(lParam);
msg->message <- это твоё сообщение


 
Sasha9 ©   (2002-03-18 10:23) [4]

а на дельфи так:
var
msg:pmsg;
..............
msg:=pmsg(lparam);
...:=pmsg^.wparam;
...............



Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-64523
Саша
2002-04-23 13:55
2002.05.20
числа с рубликами в dbgrid e


1-64602
Korin
2002-05-07 18:19
2002.05.20
Нажатие кнопок мыши


3-64475
Aleksandr
2002-04-22 11:45
2002.05.20
Как установить таблице хитрый язык?


1-64644
pegas7
2002-05-08 13:23
2002.05.20
Текст фиксированной ширины с переносами


14-64818
DOk
2002-04-07 15:23
2002.05.20
Маленький проектик :) приглашаю всех поучаствовать-поиграть :)