[英]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.