win32:使用SetCursorPos移动鼠标与鼠标比较

2024-03-28 16:03:43 发布

您现在位置:Python中文网/ 问答频道 /正文

在windows中使用以下两种技术移动鼠标有什么区别吗?

win32api.SetCursorPos((x,y))

对:

nx = x*65535/win32api.GetSystemMetrics(0)
ny = y*65535/win32api.GetSystemMetrics(1)
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)

Windows处理移动的方式有什么不同吗?


Tags: eventmovewindows鼠标技术nx区别ny
1条回答
网友
1楼 · 发布于 2024-03-28 16:03:43

我相信mouse_event的工作原理是将事件插入到鼠标输入流中,当SetCursorPos在屏幕上移动光标时。我也不相信SetCursorPos会生成任何输入事件(尽管我可能错了)。

实际含义是,当您使用SetCursorPos时,它只是移动光标。当您使用mouse_event时,它会在输入流中插入事件,从而为正在侦听的任何程序生成输入事件。这与监听低级鼠标事件而不仅仅是光标点击的程序有关系,例如游戏。此外,如果使用mouse_event移动光标并启用光标/指针加速,则生成的鼠标移动应服从windows正在使用的任何加速曲线。

相关问题 更多 >