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

Вниз

Проблемы с хуком   Найти похожие ветки 

 
}{enon   (2003-03-01 16:18) [0]

В DLL ставится хук WH_GETMESSAGE. В качестве GetMsgProc используется следущая функция:
function PaintProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var
AppWnd: HWND;
f: textfile;
m: tagMSG;
begin
if code < 0 then
begin
Result:= CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
Exit;
end;
PeekMessage(m,0,0,0,PM_REMOVE);
if m.message=WM_PAINT then
---Обработка данных---
CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
Result:= 0;
end;


Всё работает, но процедура, обрабатывающая полученный результат вызывается раз по десять - двадцать. Кто-нибудь знает, в чём дело?


 
Song   (2003-03-01 16:40) [1]

Потому что WM_PAINT посылает одновременно куча окон, вот ты их все и ловишь.


 
}{enon   (2003-03-01 19:24) [2]

Спасибо. Пойду устранять.



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

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

Наверх




Память: 0.44 MB
Время: 0.014 c
1-91356
HeWSter
2003-04-09 15:52
2003.04.28
Как отловить нажатие горячих клавиш из потока?


14-91546
Sturman
2003-04-11 13:22
2003.04.28
Как заколбасить


14-91550
Michael
2003-04-11 17:53
2003.04.28
Как переветсти на руский язык


14-91513
[NIKEL]
2003-04-10 18:17
2003.04.28
Автоматизация Страхования


3-91205
Aleksandr
2003-04-08 19:44
2003.04.28
Что может из БДЕ вызвать причины зависания в потоке с таблицей?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский