Я пытаюсь отправить событие мыши, когда пользователь нажимает (или удерживает) левую кнопку мыши.
Сначала мой код:
import time
import win32api
import win32con
LMB = win32con.VK_LBUTTON
def is_lmb_pressed():
return win32api.GetKeyState(LMB) < 0
def mouse_move_relative(dx, dy):
print("moving mouse")
#moves mouse down 10 pixels
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, int(dx), int(dy), 0, 0)
print("done moving mouse")
def main():
running = True
print("INFO: Starting!")
while running:
if is_lmb_pressed():
mouse_move_relative(0,10)
time.sleep(0.1)
print("INFO: Exiting!")
if __name__ == "__main__":
main()
Это противодействует отдаче в видеоигре. Код несколько работает, он перемещает мышь вниз при первом нажатии. Второй щелчок (или удержание) никогда не регистрируется, потому что метод win32api.mouse_event, кажется, никогда не возвращается. В консоли я вижу:
INFO: Starting!
moving mouse
Я не уверен, что это ошибка или я что-то не так делаю. Любая помощь приветствуется.
Python версия: 3.8.1 Pywin32 версия: 227 Windows 10