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

Ох уж эти хуки.....   Найти похожие ветки 

 
SPeller ©   (2002-05-21 17:03) [0]

Здрасьте! Наверно мои слова повторялись десять тысяч раз. Проблема такая: ставлю хук, а при обработке сообщения вылазит ошибка.

...
callwndproc:=hookproc;
hhook:=setwindowshookex(wh_getmessage,@callwndproc,hinstance,getcurrentthreadid);
...

function tform1.Hookproc(hc:integer;wParam:word;lParam:longint):longint;stdcall;
var cwp:tmsg;
begin
if lparam<>0 then begin
cwp:=tmsg(pointer(lparam)^);
if (cwp.message=wm_paint)then begin // Тут вылазит ошибка
.....
end;
end;
result:=0;
end;


В указанном месте вылазит ошибка "Access violation at address XXXX....."
Чего ей не хватает???


 
AFROLOV ©   (2002-05-21 17:23) [1]

Может и не лучшая реализация но работает:
Function WndHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
var
PMsgSt:^tagMSG;
MsgStruct:tagMSG;
....
begin
.....
PMsgSt:=Pointer(ParamL);
MsgStruct.hwnd:=PMsgSt^.hwnd;
MsgStruct.message:=PMsgSt^.message;
MsgStruct.wParam:=PMsgSt^.wParam;
MsgStruct.lParam:=PMsgSt^.lParam;
MsgStruct.time:=PMsgSt^.time;
MsgStruct.pt.X:=PMsgSt^.pt.x;
MsgStruct.pt.y:=PMsgSt^.pt.y;
....
end;
....
WndHookHandle:=SetWindowsHookEx(WH_GETMESSAGE, @WndHook, HInstance, TreadId);
....


 
MBo ©   (2002-05-21 17:47) [2]

ошибка в том, то Hookproc не должна быть методом объекта



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

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



Память: 0.45 MB
Время: 0.009 c
14-95518
Леша
2002-07-02 06:50
2002.07.29
А кто-нибудь из программистов увлекается фотографией?


1-95410
greenrul
2002-07-16 12:18
2002.07.29
Определение размера zip файла:


7-95586
Zak
2002-05-14 13:34
2002.07.29
Защита данных на болванке от перезаписи!


1-95309
AlexAlex
2002-07-16 18:00
2002.07.29
Программное управление положением подписей (Mark) в TChart


3-95264
Doctor
2002-07-09 14:53
2002.07.29
DBLookUpComboBox




   Наверх