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

一日写程序,倍感无聊,想知道到底我按了多少次键,想看看键盘和鼠标被我“折磨”了多少次。嘿嘿。
  为了满足自己的好奇心,所以有了一个写一下小程序的想法。
MyDetective是一个侦测你的按键次数的一个有趣的小工具,包括鼠标左右按键和键盘上的每一个键。
  想想在你写文章的时候或者写程序的时候,还可以统计出你按了多少次键,是不是很有趣呢?

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值