Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyHook错误的帮助_Python_Windows - Fatal编程技术网

Python pyHook错误的帮助

Python pyHook错误的帮助,python,windows,Python,Windows,我正在尝试用python中的pyhook制作一个全局热键,该热键应该只在按下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 = OnKeyboa

我正在尝试用python中的pyhook制作一个全局热键,该热键应该只在按下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)时工作。。。并给出以下错误:

我怎样才能解决它?用于第一次按下时的工作。

请注意,处理程序末尾需要一个返回值:

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)都会阻止事件,这样后续处理程序就不会得到它。(这使您可以有条件地接受某些击键,如本教程的事件筛选部分所述。)

(这并不像看上去那么容易理解!:-)