Python win32:使用SetCursorPos移动鼠标与鼠标\u事件

Python win32:使用SetCursorPos移动鼠标与鼠标\u事件,python,winapi,input,automation,Python,Winapi,Input,Automation,在windows中使用以下两种技术移动鼠标有什么区别吗 win32api.SetCursorPos((x,y)) vs: Windows处理移动的方式有什么不同吗?我相信鼠标事件的工作原理是将事件插入鼠标输入流,其中asSetCursorPos只是在屏幕上移动光标。我也不相信SetCursorPos会生成任何输入事件(尽管我可能错了) 实际含义是,当您使用SetCursorPos时,它只会移动光标。其中,与使用鼠标事件时一样,它在输入流中插入事件,从而为正在侦听的任何程序生成输入事件。这对监听

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

win32api.SetCursorPos((x,y))
vs:


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

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


实际含义是,当您使用
SetCursorPos
时,它只会移动光标。其中,与使用
鼠标事件
时一样,它在输入流中插入事件,从而为正在侦听的任何程序生成输入事件。这对监听低级鼠标事件而不仅仅是光标点击的程序有影响;比如说游戏。另外,如果您正在使用
鼠标\u事件
移动光标并启用光标/指针加速,另一个区别是,SetCursorPos用于将鼠标位置设置为第二个监视器,而SendInput/mouse_事件上的绝对位置仅限于主显示器。
nx = x*65535/win32api.GetSystemMetrics(0)
ny = y*65535/win32api.GetSystemMetrics(1)
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)