Python 3.7 и Win10 |Как отправить щелчки мыши в окне - PullRequest
0 голосов
/ 01 марта 2019

В настоящее время у меня настроен скрипт для наблюдения за окном.Он делает скриншот кластера пикселей и в зависимости от того, что он получает, запускает этот простой макрос, который я сейчас настроил, используя несколько различных библиотек ввода.

x1, y1, x2, y2 = rect = win32gui.GetWindowRect(WIN)
res = (x2 - x1, y2-y1)
item_pos = (x2-254, y2-372)
del_pos = (x2-302, y2-263)
tree_pos = (x2-467, y2-291)


click(item_pos, mouse.Button.right)
sleep(.4)
click(del_pos, mouse.Button.left)
sleep(.4)
k.press(keyboard.Key.enter)
k.release(keyboard.Key.enter)
sleep(2)
click(tree_pos, mouse.Button.left)

Как вы можете видеть, этоочень обыденныйФункция щелчка использует ctypes для перемещения курсора на любой монитор, а затем использует pynput для щелчка.Я знаю, что этот макрос был бы намного более элегантным, если бы вместо того, чтобы использовать мои устройства (клавиатуру и мышь) для отправки этих вызовов, они непосредственно отправляли эти вызовы в окно.У меня уже есть win32gui, отслеживающий местоположение окна, что позволяет мне редактировать входы, чтобы они могли воздействовать на окно по мере необходимости, несмотря на то, что оно перемещается.Но я просто не могу найти способ разрешить мне передавать эти щелчки и события клавиатуры непосредственно в приложение, не перенося мои собственные устройства.

Любая и вся помощь будет очень признательна, спасибо взаранее!

...