当我使用Chrome时,Pynput效果很好,它告诉我按下了哪个键。 但是当我使用其他程序,例如Taskmgr.exe,游戏时,它失败了!我该怎么办? 我的代码:
from pynput import keyboard
last_event_time=time.time()
def on_press(key):
global last_event_time
last_event_time=time.time()
try:
print('alphanumeric key {0} pressed'.format(
key.char))
except AttributeError:
print('special key {0} pressed'.format(
key))
def on_release(key):
global last_event_time
last_event_time=time.time()
print('{0} released'.format(
key))
if key == keyboard.Key.esc:
# Stop listener
return False
listener2 = keyboard.Listener(
on_press=on_press)
listener2.start()
答案 0 :(得分:0)
在找到原因之前,我在自己的代码中确实遇到了这个问题一年。如果程序以提升的身份启动,则非提升的程序(例如您的脚本)将无法读取键盘。
如果让它正常工作很重要,我不久前敲了一些基本代码,以使用管理员权限重新启动我的脚本。该文件为here,其运行方式如下:
if __name__ == '__main__':
console.elevate(visible=not start_minimised)
# Do your main code here