Python win32api虚拟移动鼠标

Python win32api虚拟移动鼠标,python,winapi,mouse,simulation,Python,Winapi,Mouse,Simulation,我试图用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

我试图用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)

然而,这会移动真正的鼠标,因此会干扰用户。它们是发送该事件的一种方式,但不会真正移动鼠标吗?

请参见,它指的是。CPNMouse项目已不存在,AFAICT

如果您坚持伪造输入以自动执行此操作,那么您将无法解决当前的问题。当您伪造输入时,系统将像真实输入一样响应。您可以将光标移回其原始位置,但用户将看到光标在四处移动。这真的不是一件好事


你需要的是一个解决问题的方案,不涉及伪造输入。当然,你没有详细说明问题,只是你的解决方案,所以我们不得不猜测问题。看起来您正在尝试自动化某些外部应用程序。该平台通过UIAutomation提供支持

我是唯一一个将“这移动了真正的鼠标”视为用户手放在鼠标上,鼠标在鼠标垫上快速移动到另一个位置的人吗?也就是说,我相信你只需记下原始位置,移动光标,单击,然后将其移回Windows中通常只有一个鼠标。所以我同意@mhlester。但也许你可以添加第二个鼠标。问题的真正问题在这里描述:好的,我将在30分钟内发布实际问题,而不是要求更具体的应用程序。问题是:我们能先处理这个问题吗?谁投了反对票,谁能解释原因?如果有两个鼠标光标,则可以根据需要移动其中一个鼠标光标以单击按钮,将用户的鼠标指针留在原来的位置。因此,尽管另一个答案可能更好,但我不认为我的答案是错的。