如何修复 pyHook 类型错误?
How to fix pyHook typeError?
我正在制作一个非常简单的键盘记录器,每当我键入一个键时,代码都会工作,但它也会 returns 一个 TypeError: an integer is required (got type NoneType)
。
除此之外一切正常。我在网上搜索过,结果除了 pythoncom.PumpMessages()
外都是空白,但是 pythoncom 很烦人,给出了 ModuleNotFoundError: No module named 'pywintypes'
。即使我下载了 pywin32(并尝试过 pypiwin32)。
这是我的代码:
import pyHook
def keyPress(e):
if e.Ascii:
print(chr(e.Ascii))
if chr(e.Ascii)=="`":
exit()
keylog = pyHook.HookManager()
keylog.KeyDown = keyPress
keylog.HookKeyboard()
一切正常,除了 TypeError: an integer is required (got type NoneType)
每当我按下一个键时发生(除了当我按下 ` 键时,它退出时没有错误)。
这里是完整的错误信息:
TypeError: an integer is required (got type NoneType)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
** IDLE Internal Exception:
File "C:\Users\Max\AppData\Local\Programs\Python\Python37\lib\idlelib\run.py", line 147, in main
handle_tk_events()
File "C:\Users\Max\AppData\Local\Programs\Python\Python37\lib\idlelib\run.py", line 80, in handle_tk_events
tcl.eval("update")
SystemError: <built-in method eval of _tkinter.tkapp object at 0x0000024ECF6A9030> returned a result with an error set
[编辑]:
pythoncom 现在可以工作了(虽然我不明白为什么),但是代码仍然抛出错误。
PyHook 要求我在我的函数中 return 一个整数,但我没有 return 任何东西,因此在获取 NoneType 时出现关于期望整数的错误。我只需要添加 return 0
.
我正在制作一个非常简单的键盘记录器,每当我键入一个键时,代码都会工作,但它也会 returns 一个 TypeError: an integer is required (got type NoneType)
。
除此之外一切正常。我在网上搜索过,结果除了 pythoncom.PumpMessages()
外都是空白,但是 pythoncom 很烦人,给出了 ModuleNotFoundError: No module named 'pywintypes'
。即使我下载了 pywin32(并尝试过 pypiwin32)。
这是我的代码:
import pyHook
def keyPress(e):
if e.Ascii:
print(chr(e.Ascii))
if chr(e.Ascii)=="`":
exit()
keylog = pyHook.HookManager()
keylog.KeyDown = keyPress
keylog.HookKeyboard()
一切正常,除了 TypeError: an integer is required (got type NoneType)
每当我按下一个键时发生(除了当我按下 ` 键时,它退出时没有错误)。
这里是完整的错误信息:
TypeError: an integer is required (got type NoneType)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
** IDLE Internal Exception:
File "C:\Users\Max\AppData\Local\Programs\Python\Python37\lib\idlelib\run.py", line 147, in main
handle_tk_events()
File "C:\Users\Max\AppData\Local\Programs\Python\Python37\lib\idlelib\run.py", line 80, in handle_tk_events
tcl.eval("update")
SystemError: <built-in method eval of _tkinter.tkapp object at 0x0000024ECF6A9030> returned a result with an error set
[编辑]:
pythoncom 现在可以工作了(虽然我不明白为什么),但是代码仍然抛出错误。
PyHook 要求我在我的函数中 return 一个整数,但我没有 return 任何东西,因此在获取 NoneType 时出现关于期望整数的错误。我只需要添加 return 0
.