按键监测程序(按键次数)

本文介绍了一个使用WinAPI创建的DLL,该DLL通过安装键盘和鼠标钩子来监测按键和点击次数。当按键或点击发生时,DLL通过自定义消息通知调用程序更新统计数据。此外,还提供了清零计数器的函数。程序适用于Win2000和WinXP,通过动态加载DLL并调用其导出函数进行交互。
摘要由CSDN通过智能技术生成
一日写程序,倍感无聊,想知道到底我按了多少次键,想看看键盘和鼠标被我“折磨”了多少次。嘿嘿。
  为了满足自己的好奇心,所以有了一个写一下小程序的想法。
MyDetective是一个侦测你的按键次数的一个有趣的小工具,包括鼠标左右按键和键盘上的每一个键。
  想想在你写文章的时候或者写程序的时候,还可以统计出你按了多少次键,是不是很有趣呢?

下面我们就来介绍一下具体的实现吧。

  其实主要的原理,就是同时运用鼠标钩子和键盘钩子,而且是全局钩子,这样才能保证你的任何按键动作都能被这个程序截获。
要做成全局钩子,最主要的就是要把钩子回调函数放在DLL里面,这样,在运用SetWindowsHookEx的时候,才能把你的DLL插入到系统每一个进程当中,这样才能截获全局范围内的消息。而我们需要做的,就是建立三个变量,分别统计鼠标左键、右键、和键盘按键的总和。必须注意的是由于这三个变量是必须共享的,所以需要建立一个数据段,把数据段的属性设置为可读、可写、可共享的属性。并在数据段中定义这三个变量,这样就可以达到目的了。好了,废话不多说了,我们马上开工,用代码来说话 :)

首先建立一个普通的WIN32 DLL,在其中加入以下代码,定义一个数据段".MyData",然后再定义三个变量分别用来存放和统计次数:

#pragma data_seg(".MyData")
HINSTANCE hInst=NULL;
HHOOK hKeyboard=NULL;
HHOOK hMouse=NULL;
HWND  hClientWnd=NULL;
lo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值