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

首先安装第三方库成了一个问题,查了很多资料,也没有解决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 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() 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西杭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值