Я пытаюсь написать скрипт python для отправки нажатия и удерживания ключевого сигнала. Прямо сейчас все, что мне удалось сделать, это следующее:Как эмулировать нажатие и удерживание с pywin32
import win32com.client
shell = win32com.client.Dispatch("Wscript.Shell")
shell.SendKeys("z")
Однако это только посылает мгновенное нажатие клавиши. То, что я хотел бы сделать, это ключ вниз и клавишу вверх, что-то вдоль линий:
shell.SendKeys("z{down}")
time.sleep(.25)
shell.SendKeys("z{up}")
Но я не могу найти документированный способ достижения этой цели.
EDIT: Я тоже пытался что-то вдоль линий этого:
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 ничего не сделал.
Я думаю, что это [сообщение] (http://stackoverflow.com/a/2004267/673590) может быть тем, чем вы являетесь. – tharen
Спасибо! Это хорошо работает – dave