局部钩子能影响其它软件????

robinhunter 2003-09-12 09:35:03
var
hNextHookProc: HHook;

function mouseHookHandler(iCode: Integer;
wParam: WPARAM;
lParam: LPARAM): LRESULT; stdcall;
begin
Result := 0;
if iCode < 0 then
begin
Result := CallNextHookEx(hNextHookProc, iCode, wParam, lParam);
Exit;
end;

if wParam = wm_rbuttondown then
begin
Result := 1;
end;
end;

function EnableHotKeyHook: BOOL; export;
begin
Result := False;
if hNextHookProc <> 0 then Exit;
hNextHookProc := SetWindowsHookEx(WH_mouse,
mouseHookHandler,
HInstance,
0);
Result := hNextHookProc <> 0;
end;

procedure TfrmAbout.FormCreate(Sender: TObject);
begin
enablehotkeyhook;
end;

这样一个钩子,程序启动后发现记事本、outlook等其它软件中的鼠标右键也被屏蔽掉了,这又不是全局钩子,不懂这是怎么回事。
...全文
30 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxpbuaa 2003-09-12
  • 打赏
  • 举报
回复
你的SetWindowsHookEx的最后一个参数设置为0,当然所有运行的线程都会被安装这个钩子了。这个参数应该设置为需要安装挂钩的线程。

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧