Я пытаюсь имитировать щелчок мышью по окну. В настоящее время я успешно выполняю это следующим образом (я использую Python, но он должен применяться к общему win32):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
Это прекрасно работает. Однако, если щелчок происходит, когда я перемещаю мышь вручную, позиция курсора отбрасывается. Есть ли способ отправить клик непосредственно в заданную координату (x,y)
, не перемещая мышь там? Я пробовал что-то вроде следующего с большой удачей:
nx = x*65535/win32api.GetSystemMetrics(0)
ny = y*65535/win32api.GetSystemMetrics(1)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | \
win32con.MOUSEEVENTF_ABSOLUTE,nx,ny)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | \
win32con.MOUSEEVENTF_ABSOLUTE,nx,ny)