了解HHOOK之路( 四 )
来源:互联网 发布:手机网络翻墙怎么回来 编辑:程序博客网 时间:2024/06/06 01:48
在三的基础上,我希望通过更得例子来加强学习。唯一不同的是,这次只关注DLL的核心代码。
代码一:
通过钩子获得鼠标的单击次数。细想一下,系统的各个进程不共享数据,在单个进程里或许完全可以不通过安装钩子来获取。但是如果面对的是多进程,选择钩子完全正确。
插一下:
WPARAM
wParam
lParam
MICROSOFT在使用时两种参数分别代表不同的含义和内容,WPARAM常常代表一些控件的ID或者高位底位组合起来分别表示鼠标的位置,如果消息的发送者需要发送某种结构的指针或者是某种类型的句柄时,习惯上用LPARAM来传递,可以参考各种控件的通知消息:可以查看:EN_CHANGE
案例监听的消息是WH_MOUSE,回调函数代码
LRESULT
{
if(nCode<0)
{
return
}
if(wParam==WM_LBUTTONDOWN)
{
count++;
}
return
}
代码二
介绍键盘钩子,记录用户的按键,用户监测的消息是WH_KEYBOARD,并将记录的按键存放在指定的文件中。
只是缺陷太多:
但我觉得这都不是问题,本来就什么都不懂,一直是在探索的前进的,在后面我会完善的。
//回调函数
LRESULT
{
if(nCode==HC_ACTION)
{
if(lParam
{
char
c[0]=wParam;
savelog(c);
}
}
return
}
//保存路径,结果很可能出现乱码
void
{
CTime
CString
name.Format("F:\\key_%d_%d.txt",tm.GetMonth(),tm.GetDay());
CFile
if(!file.Open(name,CFile::modeReadWrite))
{
file.Open(name,CFile::modeCreate|CFile::modeReadWrite);
}
file.SeekToEnd();
file.Write(c,1);
file.Close();
}
总结:
对于很多的代码是一个熟悉的过程。
- 了解HHOOK之路( 四 )
- 了解HHOOK之路( 二 )
- 了解HHOOK之路( 三)
- 了解HHOOK之路(一)
- HHOOK
- Hhook
- 钩子HHOOK
- 钩子HHOOK
- 钩子HHOOK
- NVMain运行机制深入了解之四
- 深入了解Java之四(JVM)
- 迭代器学习之四:关于yield的深入了解
- Servlet之四 Session的了解和学习
- sparkSQL1.1入门之四:深入了解sparkSQL运行计划
- sparkSQL1.1入门之四:深入了解sparkSQL运行计划
- 了解RxJava之Android响应式编程(四)
- STL之Vector(四):深入了解Vector
- web前端之了解node四:事件循环、EventEmitter
- JAVA 笔记(一)
- (转) 用自定义图片代替原生checkbox实现全选,删除以及提交
- Laplacian锐化图像
- Radix
- 防止已经加载的图片在adapter更新时闪烁
- 了解HHOOK之路( 四 )
- 解决eclipse add and remove 项目名带括号
- 剑指Offer——从尾到头打印链表——C++
- 解决 java.net.SocketException: sendto failed: ECONNRESET (Connection reset by peer) 异常
- React入门记事本小项目(二)
- ARM体系当中汇编和C混编传参的规则
- 密码学的那些事儿
- spring boot实战笔记
- handler消息机制详解