我正在尝试将按键发送到特定程序,但是我希望能够使用键盘上的所有键,并且SendKeys似乎非常有限。
当前我正在使用:
from win32com.client import Dispatch
wsh = Dispatch('WScript.Shell')
wsh.AppActivate('Program_Name')
wsh.SendKeys('{PGUP}')
是否有一种方法可以将KeyID
的按键发送到指定的程序,或者是实现我的目标的另一种方法?例如,NumPad0
的扫描代码与insert
(82
)相同,但是它们具有唯一的KeyID
。否则,是否有其他方法可以将按键发送到给定程序?
我知道KeyID
发送按键的唯一方法是使用win32api
:
from win32 import win32api
key_id = 0x60 # NumPad0 KeyID
win32api.keybd_event(key_id, 0, win32con.KEYEVENTF_KEYUP, 0)
但是,这模拟了我相信键盘上的按键,因此整个系统都会接收到该事件。