Перемещение мыши win32api не возвращает - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь отправить событие мыши, когда пользователь нажимает (или удерживает) левую кнопку мыши.

Сначала мой код:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...