发布这几天学习Hook搞出来的一个挺好玩的统计鼠标移动距离和键盘敲击次数的小程序
2006-03-30 01:27
477 查看
引用:钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握钩子的编程方法是很有必要的。
这几天一直在学习 Hook 的相关知识,然后自己做了个好玩的小程序,主要功能统计一天鼠标移动了多少米,还有键盘敲击了多少次,从发这篇 BLOG 开始计数,呵呵,自己觉得挺好玩了。
关于 Hook 的相关资料,网上有几篇不错的文章,这些文章都是有价值的参考资料,我还是直接引用地址吧,感兴趣的可以研究研究:
微软HOOK专题 、
Using Hooks from C# 、
消息钩子函数入门篇 、
Global System Hooks in .NET 、
键盘敲击计数器·.NET中实现Global Hook 、
HOW TO:在 Visual C# .NET 中设置窗口挂钩 、
为了避免闭门造车,程序中直接使用了 Georgi 的 UserActivityHook 类,简单而适合我的程序,当然上面在几篇文章中,你会发现功能更强更完善的类库,那是后话 ^0^
关于WH_KEYBOARD_LLlow-level hook and the WH_MOUSE_LLlow-level hook ,请参看我的前一篇学习笔记学习笔记-HOOK钩子(1)
我的小程序截图(截止到目前为止的统计信息):
程序主界面:浮动界面,占的空间很小,可拖动
程序设置菜单 和 程序设置界面
其中要说明的是显示器宽度指的是物理宽度,可以通过电子尺软件测量出来的。
程序下载点击这里(运行程序,系统需要安装.NET Framework1.1或更高版本)
仅供娱乐,源码在此处下载!! 欢迎大家提出宝贵意见,很乐意能够修改这个程序,满足更多人的需求。
关于81提出的问题:
C#键盘钩子我也写过,当时是为了想把[和{互换一下,取得键值没问题,但互换总是不行,最后也就做罢,不知楼主能否实现?
暂时没有时间写这个程序,不过可以先说一下思路,首先判断Hook到的键盘事件获得的键值,
如果是 “{ ”键值 则模拟键盘事件发送 “[”键值 的消息,反之则发送 }
关于占用内存16M的问题:
原因是使用了类的数组,而且长度很大,所以难免。。。
有机会我会完善一下的
这几天一直在学习 Hook 的相关知识,然后自己做了个好玩的小程序,主要功能统计一天鼠标移动了多少米,还有键盘敲击了多少次,从发这篇 BLOG 开始计数,呵呵,自己觉得挺好玩了。
关于 Hook 的相关资料,网上有几篇不错的文章,这些文章都是有价值的参考资料,我还是直接引用地址吧,感兴趣的可以研究研究:
微软HOOK专题 、
Using Hooks from C# 、
消息钩子函数入门篇 、
Global System Hooks in .NET 、
键盘敲击计数器·.NET中实现Global Hook 、
HOW TO:在 Visual C# .NET 中设置窗口挂钩 、
为了避免闭门造车,程序中直接使用了 Georgi 的 UserActivityHook 类,简单而适合我的程序,当然上面在几篇文章中,你会发现功能更强更完善的类库,那是后话 ^0^
关于WH_KEYBOARD_LLlow-level hook and the WH_MOUSE_LLlow-level hook ,请参看我的前一篇学习笔记学习笔记-HOOK钩子(1)
我的小程序截图(截止到目前为止的统计信息):
程序主界面:浮动界面,占的空间很小,可拖动
程序设置菜单 和 程序设置界面
其中要说明的是显示器宽度指的是物理宽度,可以通过电子尺软件测量出来的。
程序下载点击这里(运行程序,系统需要安装.NET Framework1.1或更高版本)
仅供娱乐,源码在此处下载!! 欢迎大家提出宝贵意见,很乐意能够修改这个程序,满足更多人的需求。
关于81提出的问题:
C#键盘钩子我也写过,当时是为了想把[和{互换一下,取得键值没问题,但互换总是不行,最后也就做罢,不知楼主能否实现?
暂时没有时间写这个程序,不过可以先说一下思路,首先判断Hook到的键盘事件获得的键值,
如果是 “{ ”键值 则模拟键盘事件发送 “[”键值 的消息,反之则发送 }
关于占用内存16M的问题:
原因是使用了类的数组,而且长度很大,所以难免。。。
有机会我会完善一下的
相关文章推荐
- 发布这几天学习Hook搞出来的一个挺好玩的统计鼠标移动距离和键盘敲击次数的小程序
- 发布这几天学习Hook搞出来的一个挺好玩的统计鼠标移动距离和键盘敲击次数的小程序
- 鼠标移动距离点击次数及键盘敲击次数每日统计帖(看看老板是怎么剥削我们的手指),每日更新
- 计划:写一个统计鼠标点击次数,滑动距离,键盘按键次数的软件
- 敲击键盘和鼠标的次数统计软件
- 咪咕笔试题目:统计键盘写入一个字符串的按键点击次数
- 意外收获-ruby编写的一个简单统计单词出现次数的程序
- 编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- 【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。
- 编写一个程序统计各个数字、空白符(包括空格符、制表符及换行符)以及其它字符出现的次数
- 写了一个好玩的小软件, 监视鼠标以及键盘的动作, 全局钩子. HowTired
- 学习java的一个好玩的小程序
- JS实现在线统计一个页面内鼠标点击次数-刷新过后也会保留上次点击次数
- 编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- 利用Java Swing技术设计一个鼠标点击速度比赛游戏程序。程序显示一个按钮和一个文本框,用户点击按钮,文本框显示鼠标点击次数。两个人同时运行本程序,即可进行比赛
- Mouse without Borders是微软的一个软件实验项目,这款软件可让鼠标自由在局域网中的多台电脑间移动,键盘输入实现无缝切换,还可以直接用鼠标相互拖拽文件。 如果经常需要同时使用两台以
- JS实现在线统计一个页面内鼠标点击次数的方法
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- ROS的初步学习(五)--自己写一个简单的发布(Publisher)、订阅(Subscriber)程序
- 一个用于统计输入中各个C语言关键字出现次数的程序