首先安装第三方库成了一个问题,查了很多资料,也没有解决pyHook库的安装问题。
在安装pyHook库之前,首先安装pywin32,这个库很好装,大家搜一下教程即可。
接下来需要安装pyHook,这个库我装了几次,都没有装上。最后找到了解决办法
第一个是python2.7 32位下载地址,第二个是python2.7 64位下载地址。我的是64位,下载第二个
下载完成后,发现无法打开,这是用压缩工具打开,比如winrar,打开后解压到某目录下,就会出现pyHook的文件,将这个文件拷贝到
python27的安装的特定目录下python27\Lib\site-packages,然后导入pyHook就可以运行了。
下面是一个简单的鼠标键盘监控器的小教程。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pythoncom
import pyHook
import time
def 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 True
def 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 True
if __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()