Как имитировать клавиатуру с помощью python на библиотеке keyboards в 1 окне
Мне нужно сделать имитацию нажатий клавиш в определенном окне, так чтобы в других окнах можно было заниматься другими делами.
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
Для отправки нажатий в окна использую такой код:
import win32gui
import win32api
import win32con
def hwnd_send_key(hwnd, key, flag):
lParam = 0
ScanCode = win32api.MapVirtualKey(key, 0)
lParam = ScanCode << 16
lParam |= 1
if flag == "down":
win32api.PostMessage(hwnd, win32con.WM_KEYDOWN, key, lParam)
elif flag == "up":
lParam |= 1 << 30
lParam |= 1 << 31
win32api.PostMessage(hwnd, win32con.WM_KEYUP, key, lParam)
else:
print("down or up")
set_hwnd = "Notepad"
hwnd = win32gui.FindWindow(None, set_hwnd)
# https://narvell.nl/keys -> DEC код клавиши
if hwnd == 0:
print("Окно не найдено!\n")
hwnd_send_key(hwnd, 32, "down")
hwnd_send_key(hwnd, 32, "up")