Вниз
Скачать: 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-95536
MaximatorVeter
2002-07-02 19:15
2002.07.29
Неужели нельзя описать destructor класса с параметрами?


14-95533
kull
2002-07-02 23:37
2002.07.29
Почему у Delphi скорость компиляции выше?


7-95572
МИФИст
2002-05-08 01:39
2002.07.29
TRegistry


4-95597
Strat
2002-05-21 17:00
2002.07.29
Минимизация программы не системной кнопкой


8-95455
IgoX
2002-03-21 12:58
2002.07.29
Как в Photoshop




   Наверх