Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Хук на 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.006 c
14-64839
DeMoN-777
2002-04-10 13:18
2002.05.20
Есть-ли толк от курсов по Delphi ?


1-64628
igorx
2002-05-07 17:05
2002.05.20
Программные глюки


3-64503
Gamar
2002-04-20 12:15
2002.05.20
Cумма по ВЫЧИСЛЯЕМОМУ полю


1-64573
SPeller
2002-05-05 05:54
2002.05.20
Косяк при создании форм


3-64467
SelfDestructor
2002-04-24 21:13
2002.05.20
RIGHT JOIN в ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский