PyHook:返回keydown两次火灾

时间:2011-05-06 10:42:06

标签: python winapi

在下面的代码中,当我点击返回时,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 :(得分:0)

因为Window的新行是'\ r \ n',当你点击返回时,你可能会得到这两个字符。

答案 1 :(得分:0)

如果可以,请尝试使用KeyUp而不是KeyDown。我只用KeyUp获得一个事件。