Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
6-64751
SB.John
2002-03-06 09:12
2002.05.20
Как клиенту найти сервер.


1-64589
com6
2002-05-07 16:37
2002.05.20
как проверить, не передал ли юзер какой аргумент к файлу проги


3-64499
CrazzyWizzard
2002-04-23 08:23
2002.05.20
Проблема с быстрой (!) Модификацией MDB-базы


4-64889
o_viz2000
2002-03-16 21:43
2002.05.20
MAIL SLOTS


4-64877
Gayrus
2002-03-13 16:29
2002.05.20
ExeName




   Наверх