Как имитировать клавиатуру с помощью 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")
→ Ссылка