首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyHook还是pythoncom bug?

pyHook还是pythoncom bug?
EN

Stack Overflow用户
提问于 2015-04-03 12:29:56
回答 1查看 1.5K关注 0票数 2

我用的是64位的Windows 7。我正在运行pyHook包附带的example.py文件(下面发布的代码)。每当我的活动窗口是Skype时,要么我的计算机崩溃,要么我得到'TypeError: KeyboardSwitch() missing 8个必需的位置参数:..‘。我假设示例中的代码是正确的,如果我没有使用Skype,它运行得很好。有什么想法吗?

代码语言:javascript
复制
from __future__ import print_function

import pyHook

def OnMouseEvent(event):
    print('MessageName:',event.MessageName)
    print('Message:',event.Message)
    print('Time:',event.Time)
    print('Window:',event.Window)
    print('WindowName:',event.WindowName)
    print('Position:',event.Position)
    print('Wheel:',event.Wheel)
    print('Injected:',event.Injected)
    print('---')

    # return True to pass the event to other handlers
    # return False to stop the event from propagating
    return True

def OnKeyboardEvent(event):
    print('MessageName:',event.MessageName)
    print('Message:',event.Message)
    print('Time:',event.Time)
    print('Window:',event.Window)
    print('WindowName:',event.WindowName)
    print('Ascii:', event.Ascii, chr(event.Ascii))
    print('Key:', event.Key)
    print('KeyID:', event.KeyID)
    print('ScanCode:', event.ScanCode)
    print('Extended:', event.Extended)
    print('Injected:', event.Injected)
    print('Alt', event.Alt)
    print('Transition', event.Transition)
    print('---')

    # return True to pass the event to other handlers
    # return False to stop the event from propagating
    return True

# create the hook mananger
hm = pyHook.HookManager()
# register two callbacks
hm.MouseAllButtonsDown = OnMouseEvent
hm.KeyDown = OnKeyboardEvent

# hook into the mouse and keyboard events
hm.HookMouse()
hm.HookKeyboard()

if __name__ == '__main__':
    import pythoncom
    pythoncom.PumpMessages()
EN

回答 1

Stack Overflow用户

发布于 2015-10-27 17:03:18

当pyHook试图将窗口名称解释为ascii时,我找到了它,并将其跟踪到一个UnicodeDecodeError。在窗口名称中包含unicode字符的Skype上失败。我已经在here上发布了我是如何修复它的。但我不得不重建pyHook。

PS:有点重复的答案,但我想把这个问题和我发现的联系起来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29426211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档