Я пытаюсь написать скрипт Python для отправки сигнала нажатия и удержания клавиши. Сейчас все, что мне удалось сделать, это следующее:
import win32com.client
shell = win32com.client.Dispatch("Wscript.Shell")
shell.SendKeys("z")
Однако, это только отправляет мгновенное нажатие клавиши. То, что я хотел бы сделать, это ключ вниз и ключ вверх, что-то вроде:
shell.SendKeys("z{down}")
time.sleep(.25)
shell.SendKeys("z{up}")
Но я не могу найти никакого документированного способа добиться этого.
РЕДАКТИРОВАТЬ: Я также пробовал что-то вроде этого:
import time
import win32com.client
import win32api
import win32gui
import win32con
time.sleep(2)
shell = win32com.client.Dispatch("Wscript.Shell")
win32api.SendMessage(win32con.HWND_TOP, win32con.WM_CHAR, 90, 0)
win32api.SendMessage(win32con.HWND_BROADCAST, win32con.WM_KEYDOWN, 90, 1)
time.sleep(.25)
win32api.SendMessage(win32con.HWND_BROADCAST, win32con.WM_KEYUP, 90, 1)
Вся эта штука с HWND действительно для меня загадка - из документации я не могу понять, как, черт возьми, захватить правильное окно. Кроме того, WM_CHAR, кажется, работает, но WM_KEYDOWN / KEYUP на самом деле ничего не сделал.