Delphi中如何在自己的程序中处理鼠标钩子返回的系统信息?
答案:2 悬赏:20 手机版
解决时间 2021-03-01 06:55
- 提问者网友:咪咪
- 2021-02-28 20:07
编写DLL时,用 SendMessage(MouseHookStruct.hwnd,WM_PASTE,wParam,lParam);发送信息;在调用DLL的窗体程序中,设置鼠标钩子。不知道如何接收捕获的系统信息,并读出鼠标的屏幕坐标
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-02-28 21:31
你在挂钩的时候,需要提供一个函数啊,那个自己的鼠标函数里面就可以获取鼠标的信息。
全部回答
- 1楼网友:深街酒徒
- 2021-02-28 22:44
钩子类型:wh_mouse_ll 这个是全局的 值为14; wh_mouse是局部的 值为7
数据结构:pmousehookstruct
鼠标坐标保存在钩子函数的lparam参数中, 如下:
pmousehookstruct(lparam).pt.x
pmousehookstruct(lparam).pt.y
这个应该可以记录鼠标轨迹了。
如果要将即时的坐标值回传给调用钩子的exe程序, 那么重载wndproc方法, 这样的话需要在exe端自定义一个消息标示符, 在挂钩的时候传入, 在钩子程序sendmessage的时候把这个消息标示符一起发送到exe端, exe端判断message.msg是否等于自定义的消息标示符, 如果ture则保存坐标inherited, 否则直接inherited。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯