帮助pyHook错误
我正在尝试使用pyhook在python中创建一个全局热键,该热键应该仅在按下alt键的情况下才能工作。
这是来源:
import pyHook
import pythoncom
hm = pyHook.HookManager()
def OnKeyboardEvent(event):
if event.Alt == 32 and event.KeyID == 49:
print 'HERE WILL BE THE CODE'
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()
但是当我执行时,仅在第二次按下第二个键(数字1 = 49)时有效…并给出此错误:
http://img580.imageshack.us/img580/1858/errord.png
我该如何解决?用于第一时间的工作。
-
从教程中注意到,在处理程序的末尾需要一个返回值:
def OnKeyboardEvent(event): if event.Alt == 32 and event.KeyID == 49: print 'HERE WILL BE THE CODE' # return True to pass the event to other handlers return True
我同意文档中是否需要它是模棱两可的,但是您确实需要返回True或False(或者可能是任何整数值),并且任何“
false”值(例如0)都将阻止该事件,从而使后续处理程序都无法获取它。(这使您可以有条件地吞下某些按键,如本教程的“事件过滤”部分中所述。)(这并不像看起来那样容易找出来!:-))