pyhook监视键盘鼠标

from ctypes import *
import PyHook3 as pyHook
import pythoncom


def onKeyboardEvent(event):
    print("onKeyboardEvent")
    pid = c_ulong(0)
    windowTitle = create_string_buffer(512)
    windll.user32.GetWindowTextA(event.Window, byref(windowTitle), 512)
    windll.user32.GetWindowThreadProcessId(event.Window, byref(pid))
    windowName = windowTitle.value.decode('gbk')
    print("当前您处于%s窗口" % windowName)
    print("当前窗口所属进程id %d" % pid.value)
    print("当前刚刚按下了%s键" % str(event.Ascii))
    return True


hm = pyHook.HookManager()
hm.KeyDown = onKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()

TIPS

  1. onKeyboardEvent的返回值
    如果返回True 则输入可以正常定向到你想要输入的地方
    如果返回false 则输入被没收,无法输入字符
  2. 如何停止监控
hm.HookKeyboard() #开始监视
hm.UnhookKeyboard()  # 停止监听
  1. 如何退出程序
    程序开始执行pythoncom.PumpMessages()之后就进入了一个循环,不会执行pythoncom.PumpMessages()语句之后的语句。
    目前想退出只可以使用win32api.PostQuitMessage(0) 来结束程序,循环也一通结束了。

你可能感兴趣的:(pyhook监视键盘鼠标)