gpt4 book ai didi

python - 如何避免 TypeError : MouseSwitch() missing 8 required positional arguments: 'msg' , 'x' 、 'y' 、 'data' 、 'time' 、 'hwnd' 和 'window_name'

转载 作者:行者123 更新时间:2023-11-28 18:40:05 25 4
gpt4 key购买 nike

尝试 Hook 鼠标事件,但在我的早期测试中,程序在大约 30 秒后停止响应[编辑:见帖子底部] 并给出此错误

TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'time', 'hwnd', and 'window_name'

这是代码。它应该只打印所有事件信息,直到它崩溃为止。

import pythoncom
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

hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()
pythoncom.PumpMessages()

如有任何帮助,我们将不胜感激。

更新!做了一些进一步的测试后,崩溃似乎只发生在将鼠标悬停在某些窗口(例如 Skype 联系人列表)上时。如果我将鼠标悬停在 google chrome 窗口的标题上,我也会收到相同的错误消息(但没有崩溃)。

最佳答案

我用 KeyboardSwitch 而不是 MouseSwitch 进行了此操作,并在 pyHook 尝试将窗口名称解释为 ascii 时将其跟踪到 UnicodeDecodeError。它在窗口名称中包含 unicode 字符的 Skype 上失败。我已经发布了我是如何修复它的 here .但我不得不重建 pyHook。

关于python - 如何避免 TypeError : MouseSwitch() missing 8 required positional arguments: 'msg' , 'x' 、 'y' 、 'data' 、 'time' 、 'hwnd' 和 'window_name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27363268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com