我正在开发一个C#应用程序来使用Winuser.h中声明的SendInput来模拟鼠标移动 . 我对SendInput的调用工作正常,我可以在屏幕上移动鼠标 .
然后我尝试使用以下方法记录用户鼠标移动:
[DllImport("user32.dll")]
public static extern bool GetCursorPos(ref POINT lpPoint);
然后将鼠标指针传递给SendInput . 我注意到GetCursorPos获得的鼠标值与SendInput实际定位鼠标的位置之间存在差异 . 例如,鼠标x位置1300(屏幕的最右侧)对应于使用SendInput在屏幕左侧定位的鼠标 .
通过GetCursorPos获得的POINT数据与SendInput使用的坐标系之间的关系是什么 .
谢谢 .
长矛
1 回答
如以下问题所述:
SendInput doesn't perform click mouse button unless I move cursor
GetCursorPos返回的屏幕坐标需要转换为绝对并传递给SendInput:
长矛 .