python 监控窗口消息_使用Python 3.5\/3.6监听本机任意窗口中的按键操作

通过安装pyhook_py3k和pywin32库,利用全局钩子监听键盘消息,获取并打印当前窗口标题及按下键的信息。详细步骤包括库的下载、编译与安装,以及监听程序的编写。
摘要由CSDN通过智能技术生成

原理:挂装全局钩子,监听底层键盘消息,然后获取当前窗口标题以及按下的键等信息。

需要的模块:扩展库pyhook_py3k(注意,不要使用pyhook),pywin32。

第一步,安装pywin32,地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32

第二步,下载pyhook_py3k,地址:https://github.com/Answeror/pyhook_py3k

第三步,下载swig.exe,地址:http://www.swig.org/download.html

第四步,解压缩pyhook_py3k,并进行编译,命令:python setup.py build_ext --swig=..\swigwin-3.0.12\swig.exe,可以根据实际情况修改swig.exe的路径,另外本机最好已安装VC2008

第五步,安装编译好的pyhook_py3k,命令:pip install .

最后,编写键盘消息监听程序

from ctypes import *

import pyHook

import pythoncom

def onKeyboardEvent(event):

print('='*30)

# event.WindowName有时候会不好用

# 所以调用底层API喊来获取窗口标题

windowTitle = create_string_buffer(512)

windll.user32.GetWindowTextA(event.Window,

byref(windowTitle),

512)

windowName = windowTitle.value.decode('gbk')

print('当前您正处于"{0}"窗口'.format(windowName))

print('刚刚按下了"{0}"键'.format(chr(event.Ascii)))

return True

# 安装钩子,监听键盘消息

hm = pyHook.HookManager()

hm.KeyDown = onKeyboardEvent

hm.HookKeyboard()

pythoncom.PumpMessages()

程序运行部分结果如图所示:

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值