簡體   English   中英

win32api虛擬移動鼠標

[英]win32api move mouse virtually

我正在嘗試使用python模擬mouseclick

我的代碼如下:

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)

但是,這會移動真正的鼠標,因此會打擾用戶。 它們是否可以發送事件但不移動鼠標來實現?

如果您堅持使用偽造的輸入來自動執行此操作,那么您將陷入當前的困境。 當您偽造輸入時,系統將像實際輸入一樣做出響應。 您可以將光標移回其原始位置,但用戶將看到它在彈動。 確實不是一件好事。

您需要的是不涉及偽造輸入的解決方案。 當然,您沒有詳細說明問題,僅是您的解決方案,因此我們必須猜測問題。 看來您正在嘗試使某些外部應用程序自動化。 該平台通過UIAutomation提供了對此的支持。

看到多個鼠標/鼠標/光標? ,它指的是Windows MultiPoint Mouse SDK CPNMouse項目不再存在,AFAICT。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM