chinda_fall_desu’s diary

竹内豊の日記

ヒューマンコンピューターインターフェースをもっと知りたいなー

pythonでpyHookを使ってキーロガーを作る (Windows) ④

これまでの知識を使って、今度はpyHookでマウスをフックしてみる。

マウスを左クリックしたときにクリックした座標を出力させる。
ソースコード

from ctypes import *
import pythoncom
import pyHook
import sys
import time

def Lclick(event):
    print("Lclick")
    print(event.Position)
    if event.Position[0]==0:
        sys.exit()
    return True

hkm=pyHook.HookManager()
hkm.MouseLeftDown=Lclick
hkm.HookMouse()
pythoncom.PumpMessages()

・実行結果

> python .\sample.py
Lclick
(373, 390)
Lclick
(224, 365)
Lclick
(172, 430)
Lclick
(349, 496)
Lclick
(539, 492)
Lclick
(785, 444)
Lclick
(966, 445)
Lclick
(1078, 331)
Lclick
(0, 275)
>

・座標によってうまくいかないときがある。調査してみる。

> python .\sample.py
TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'flags', 'time', 'hwnd', and 'window_name'

(間違い等あればコメントよろしくお願いいたします。)