pyHook, pythoncom编写键盘鼠标监控器

来源:互联网 发布:数据透视表多条件筛选 编辑:程序博客网 时间:2024/05/22 03:52

首先安装第三方库成了一个问题,查了很多资料,也没有解决pyHook库的安装问题。

在安装pyHook库之前,首先安装pywin32,这个库很好装,大家搜一下教程即可。

接下来需要安装pyHook,这个库我装了几次,都没有装上。最后找到了解决办法

pyHook下载地址

第一个是python2.7 32位下载地址,第二个是python2.7 64位下载地址。我的是64位,下载第二个


下载完成后,发现无法打开,这是用压缩工具打开,比如winrar,打开后解压到某目录下,就会出现pyHook的文件,将这个文件拷贝到

python27的安装的特定目录下python27\Lib\site-packages,然后导入pyHook就可以运行了。

下面是一个简单的鼠标键盘监控器的小教程。

#!/usr/bin/env python# -*- coding: utf-8 -*-import pythoncomimport pyHookimport timedef onMouseEvent(event):    "处理鼠标事件"    fobj.writelines('-' * 20 + 'MouseEvent Begin' + '-' * 20 + '\n')    fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))    fobj.writelines("MessageName:%s\n" % str(event.MessageName))    fobj.writelines("Message:%d\n" % event.Message)    fobj.writelines("Time_sec:%d\n" % event.Time)    fobj.writelines("Window:%s\n" % str(event.Window))    fobj.writelines("WindowName:%s\n" % str(event.WindowName))    fobj.writelines("Position:%s\n" % str(event.Position))    fobj.writelines('-' * 20 + 'MouseEvent End' + '-' * 20 + '\n')    return Truedef onKeyboardEvent(event):     "处理键盘事件"       fobj.writelines('-' * 20 + 'Keyboard Begin' + '-' * 20 + '\n')    fobj.writelines("Current Time:%s\n" % time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()))    fobj.writelines("MessageName:%s\n" % str(event.MessageName))    fobj.writelines("Message:%d\n" % event.Message)    fobj.writelines("Time:%d\n" % event.Time)    fobj.writelines("Window:%s\n" % str(event.Window))    fobj.writelines("WindowName:%s\n" % str(event.WindowName))    fobj.writelines("Ascii_code: %d\n" % event.Ascii)    fobj.writelines("Ascii_char:%s\n" % chr(event.Ascii))    fobj.writelines("Key:%s\n" % str(event.Key))    fobj.writelines('-' * 20 + 'Keyboard End' + '-' * 20 + '\n')    return Trueif __name__ == "__main__":             #打开日志文件    file_name = "hook_log.txt"    fobj = open(file_name,  'w')           #创建hook句柄    hm = pyHook.HookManager()    #监控键盘    hm.KeyDown = onKeyboardEvent    hm.HookKeyboard()    #监控鼠标    hm.MouseAll = onMouseEvent    hm.HookMouse()        #循环获取消息    pythoncom.PumpMessages()        #关闭日志文件    fobj.close() 


原创粉丝点击