一个鼠标hook的问题
鼠标hook问题,得到鼠标在屏幕的位置,但是我的鼠标离开form后,delphi就会自动关闭掉。(在调试程序状态),如果是执行exe文件的话,鼠标移开form后,桌面也会有问题。
部分代码如下。
哪位高手看看是怎么一回事。
var
Form1: TForm1;
MHook:HHook=0;
....
function MProc(iCode: Integer; wparam, lparam: LongInt): lresult; stdcall;
var
PMou:^MouseHookStruct ;
begin
PMou := Pointer(DWord(lParam));
form1.Label2.caption:='X='+inttostr(PMou.pt.X)+' Y='+inttostr(PMou.pt.Y);
form1.Edit4.Text :=inttostr(strtointdef(form1.Edit4.Text,0)+1); //计数器
Result := CallNextHookEx(LogHook, iCode, wParam, lParam);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if MHook = 0 then
begin
MHook :=SetWindowsHookEx(WH_MOUSE,MProc,HInstance,0);
end;
end;
问题点数:50、回复次数:2Top
1 楼unsigned(僵哥(发站内消息,请附上链接或问题说明,否则不予回复))回复于 2005-06-01 00:59:43 得分 50
WH_MOUSE需要使用DLL,要不换成WH_MOUSE_LL吧Top
2 楼merkey2002(小样的)回复于 2005-06-01 01:41:50 得分 0
哦,怪不得,难怪我找的一些hook的文章有些是用dll的。
WH_MOUSE_LL?
没这东东啊。哪里定义的?Top




