【发布时间】:2014-03-04 21:42:14
【问题描述】:
我正在尝试用 python 模拟鼠标点击
我的代码如下:
class Mouse(object):
def __init__(self):
self.x_res = win32api.GetSystemMetrics(0)
self.y_res = win32api.GetSystemMetrics(1)
def rightClick(self, x, y):
nx = x*65535/self.x_res
ny = y*65535/self.y_res
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_MOVE,nx,ny)
win32api.Sleep(200)
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_RIGHTDOWN,x,y,0,0)
win32api.Sleep(200)
win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE|win32con.MOUSEEVENTF_RIGHTUP,x,y,0,0)
win32api.Sleep(700)
我使用这样的代码:
mouse = Mouse()
win32api.Sleep(2000)
x = 2520
y = 414
mouse.leftClick(x, y)
但是,这会移动真正的鼠标,因此会打扰用户。它们是一种发送该事件但无需真正移动鼠标的方法吗?
【问题讨论】:
-
我是唯一一个将“这会移动真正的鼠标”想象成用户手在鼠标上并且它会在鼠标垫上快速移动到不同位置的人吗?
-
也就是说,我相信你只要记下原来的位置,移动光标,点击,再往回移动
-
Windows 中通常只有一只鼠标。所以我同意@mhlester。但也许您可以添加第二个鼠标。
-
问题的真正问题在这里描述:stackoverflow.com/questions/22198792/…
标签: python winapi mouse simulation