我在 python 中遇到了 win32api.keybd_event 的问题(请参见下面的脚本):
在 EN 布局下,脚本按“q”键,然后按“1”键(似乎没问题)。
在 FR 布局下,脚本按“q”键,然后按“&”键(而不是“a”和“&”)。
布局翻译是部分完成的,这看起来很奇怪。
这是测试样本:
import win32api
import ctypes
import win32con
import time
def play(vk):
s = ctypes.windll.user32.MapVirtualKeyA(vk, 0)
win32api.keybd_event(vk, s, 0, 0)
time.sleep(0.1)
win32api.keybd_event(vk, s, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(0.7)
vk_key_Q = int('0x51', 16)
vk_key_1 = int('0x31', 16)
while True:
play(vk_key_Q)
play(vk_key_1)
谢谢你的帮助 !