Python 3.5 HookManager SystemError:PyEval_EvalFrameEx

时间:2015-10-10 17:19:39

标签: python

我是新来的,我希望不要犯任何错误!

我正在尝试使这个简单的代码工作,我在Python 3.4 32位测试它并且它工作但我需要在Python 3.5.0 64位上使用它但我得到这个错误,我不知道如何修复。

import pythoncom, pyHook

def OnKeyboardEvent(event):
    key=chr(event.Ascii)
    print(key)

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()

我按下了屏幕上的按键,然后我收到了这个错误:

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python 3.5\lib\site-packages\pyHook\HookManager.py", line 348, in KeyboardSwitch
event = KeyboardEvent(msg, vk_code, scan_code, ascii, flags, time, hwnd, win_name)
File "C:\Python 3.5\lib\site-packages\pyHook\HookManager.py", line 208, in __init__
HookEvent.__init__(self, msg, time, hwnd, window_name)
SystemError: PyEval_EvalFrameEx returned a result with an error set
TypeError: an integer is required (got type NoneType)

我真的不知道该怎么做!

1 个答案:

答案 0 :(得分:7)

您的函数需要返回一个整数值:

def OnKeyboardEvent(event):
    key=chr(event.Ascii)
    print(key)
    return 0