Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хук на GETMESSAGE [Win95/98]


socket ©   (2002-03-15 22:11:00) 

Здрасть.

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

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


Sasha9   (2002-03-18 10:23:00) [1]

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


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

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

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

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


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

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


Cobalt   (2002-03-16 12:27:00) [4]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо