下面是我自己写的一个鼠标钩子,很简单的,可不知道为什么就是不执行:其中:showmessage('11111111122222222333333333333333');这句是我加的为了调试用,可结果还是什么也不输出,不知道是为什么,请高手执教!谢谢!
function MouseProc(iCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT; stdcall;export;
var i:integer;
Begin
Result:=0; showmessage('11111111122222222333333333333333');
LogoID:='abcdefghijklmnopqrstuvwxyz1234567890';
for i:=1 to 19 do Str[i]:='abcdefghijklmnopqrstuvwxyz1234567890';
Wpa:=wParam;
Lpa:=lParam;
LogoMouse;
if iCode<0 then Result:=CallNextHookEx(MouseHook,iCode,wParam,lParam);
End;
procedure TForm1.BitBtn1Click(Sender: TObject);
beginif 1>0 then MouseHook:=SetWindowsHookEx(WH_MOUSE,MouseProc,Hinstance,0);
end;
function MouseProc(iCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT; stdcall;export;
var i:integer;
Begin
Result:=0; showmessage('11111111122222222333333333333333');
LogoID:='abcdefghijklmnopqrstuvwxyz1234567890';
for i:=1 to 19 do Str[i]:='abcdefghijklmnopqrstuvwxyz1234567890';
Wpa:=wParam;
Lpa:=lParam;
LogoMouse;
if iCode<0 then Result:=CallNextHookEx(MouseHook,iCode,wParam,lParam);
End;
procedure TForm1.BitBtn1Click(Sender: TObject);
beginif 1>0 then MouseHook:=SetWindowsHookEx(WH_MOUSE,MouseProc,Hinstance,0);
end;
.................千万不要告诉我你是要用hook钩自己.
LogoID:='abcdefghijklmnopqrstuvwxyz1234567890';
for i:=1 to 19 do Str[i]:='abcdefghijklmnopqrstuvwxyz1234567890';
Wpa:=wParam;
Lpa:=lParam;
LogoMouse;
if iCode<0 then Result:=CallNextHookEx(MouseHook,iCode,wParam,lParam);
End;你这个代码有问题,哪有这样写的.
改改Result:=0;
if iCode<0 then
Result:=CallNextHookEx(MouseHook,iCode,wParam,lParam);if iCode>0 then //这里要自己改成需要处理的消息类型
begin
showmessage('11111111122222222333333333333333');
LogoID:='abcdefghijklmnopqrstuvwxyz1234567890';
for i:=1 to 19 do Str[i]:='abcdefghijklmnopqrstuvwxyz1234567890';
Wpa:=wParam;
Lpa:=lParam;
end;
LogoMouse;