PyHook:回车键按下事件触发两次

0 投票
2 回答
527 浏览
提问于 2025-04-16 17:07

在下面的代码中,当我按下回车键时,on_key_down这个函数会被调用两次。而对于其他任何键,只会被调用一次。有人知道这是怎么回事吗?

import pyHook, pythoncom, win32api

def on_key_down(e):
  if e.MessageName == 'key down':
    print 'e.Key: ', e.Key
    print 'e.Ascii: ', e.Ascii
  return True
hm = pyHook.HookManager()
hm.KeyDown = on_key_down
hm.HookKeyboard()    
pythoncom.PumpMessages()

2 个回答

0

如果可以的话,试着用 KeyUp 事件,而不是 KeyDown。因为我用 KeyUp 只会收到一个事件。

0

因为Windows系统的换行符是'\r\n',所以当你按下回车键时,可能会得到这两个字符。

撰写回答