Вниз
Скачать: CL | DM;

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

← →
}{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 вся ветка

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



Память: 0.45 MB
Время: 0.012 c
4-91590
Nimda2000
2003-03-02 15:49
2003.04.28
Кодировка


14-91491
Pitay
2003-04-08 07:43
2003.04.28
Переадресация кнопок клавиатуры


14-91458
Жук
2003-04-08 15:52
2003.04.28
[503] Service Unavailable


11-91237
Kirill
2002-07-18 11:42
2003.04.28
MAIN ICON


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




   Наверх