マウスイベントにフックしようとしていますが、私の初期のテストでは、プログラムは約30秒後に応答を停止し[編集:投稿の下部を参照]、このエラーが発生します
TypeError: MouseSwitch() に必要な 8 つの位置引数がありません: 'msg'、'x'、'y'、'data'、'time'、'hwnd'、および '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 ウィンドウのヘッダーにマウスを合わせると、同じエラー メッセージが表示されます (ただし、クラッシュはありません)。