如何更改鼠标位置以便调用已安装的低级鼠标钩子

问题描述 投票:0回答:1

我安装了一个低级鼠标钩子(WH_MOUSE_LL),以在混合 HiDpi 系统(两个显示器)上获取正确的屏幕光标位置(应用程序本身不支持 HiDpi)。 如何更改代码中的鼠标位置以便也调用挂钩。 最终,我只想从非 HiDpi 感知应用程序的多显示器解决方案的屏幕上选择一种颜色,并且显示器的分辨率和缩放比例不同。 我还希望能够使用光标键以像素精度移动光标。

我尝试过 SetCursorPos() 和 SetPhysicalCursorPos()。在这两种情况下,光标位置都会更改,但不会调用挂钩。我还没有找到任何方法将低级鼠标挂钩中收到的 HigDpi 坐标映射到我的非 HigDpi 感知应用程序。

winapi multiple-monitors mouse-position hidpi
1个回答
0
投票

根据@IInspectable的建议:

您可以尝试调用SendInput来合成鼠标输入。输入事件在输入处理管道中尽早排队,以便它们能够完成低级挂钩处理。这可能对您有用,也可能不起作用,因为低级挂钩会收到输入已注入的通知,并且挂钩可以选择忽略注入的输入。

© www.soinside.com 2019 - 2024. All rights reserved.