社区
进程/线程/DLL
帖子详情
高分问简单的问题:如何HOOK桌面的自定义消息 WM_USER + 83?
wang1st
2011-03-01 12:29:18
我发现执行“显示桌面”命令或者按下WIN+D按钮后,桌面(类名为"Progman")的那个窗口会收到WM_USER+83的消息,我想HOOK这个消息。现在有两个问题:
1.用哪个钩子?WH_CALLWNDPROC,WH_CBT,WH_GETMESSAGE?
1.是不是HOOK其他进程的消息必须要全局钩子?像我这种情况用线程钩子能做到吗?是不是一定要做个DLL?
...全文
188
12
打赏
收藏
高分问简单的问题:如何HOOK桌面的自定义消息 WM_USER + 83?
我发现执行“显示桌面”命令或者按下WIN+D按钮后,桌面(类名为"Progman")的那个窗口会收到WM_USER+83的消息,我想HOOK这个消息。现在有两个问题: 1.用哪个钩子?WH_CALLWNDPROC,WH_CBT,WH_GETMESSAGE? 1.是不是HOOK其他进程的消息必须要全局钩子?像我这种情况用线程钩子能做到吗?是不是一定要做个DLL?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lactoferrin
2011-03-03
打赏
举报
回复
[Quote=引用 11 楼 iamrainliang 的回复:]
是不是HOOK其他进程的消息必须要全局钩子?
不全局最好,HOOK 目标进程的主线程消息好了
[/Quote]
说错了,不一定要全局钩子。
可以用GetWindowThreadProcessId找到目标窗口的线程标识符,然后对那个线程安装钩子。
Rain7758
2011-03-03
打赏
举报
回复
是不是HOOK其他进程的消息必须要全局钩子?
不全局最好,HOOK 目标进程的主线程消息好了
muzizongheng
2011-03-02
打赏
举报
回复
捕获 windows键+D键就行了。
见习学术士
2011-03-01
打赏
举报
回复
[Quote=引用 3 楼 wang1st 的回复:]
引用 2 楼 xiaoc1026 的回复:
写错, LowLevelKeyboardProc -》 WH_KEYBOARD_LL
谢谢,但是如果不仅仅是按键,我是想截获自定义消息呢? 比如WM_USER+83就是自定义消息。
[/Quote]
为什么要整复杂呢,你在钩子里面屏蔽掉 WIN + D 不就行了吗?
使用 GetAsyncKeyState 判断 WIN 是否按下,如果按下就屏蔽掉D键
wang1st
2011-03-01
打赏
举报
回复
[Quote=引用 2 楼 xiaoc1026 的回复:]
写错, LowLevelKeyboardProc -》 WH_KEYBOARD_LL
[/Quote]
谢谢,但是如果不仅仅是按键,我是想截获自定义消息呢? 比如WM_USER+83就是自定义消息。
见习学术士
2011-03-01
打赏
举报
回复
写错, LowLevelKeyboardProc -》 WH_KEYBOARD_LL
见习学术士
2011-03-01
打赏
举报
回复
全局钩子
WH_GETMESSAGE 可以截获普通按键消息
LowLevelKeyboardProc 可以截获系统按键消息
Lactoferrin
2011-03-01
打赏
举报
回复
给代码
wang1st
2011-03-01
打赏
举报
回复
[Quote=引用 6 楼 lactoferrin 的回复:]
hook其他进程需要全局钩子,有的全局钩子过程要放到dll
截获WM_USER+83可以用WH_CALLWNDPROC
[/Quote]
我试过WH_CALLWNDPROC,不行啊。
hyc1108565
2011-03-01
打赏
举报
回复
hook其他进程需要全局钩子,有的全局钩子过程要放到dll
截获WM_USER+83可以用WH_CALLWNDPROC
Lactoferrin
2011-03-01
打赏
举报
回复
hook其他进程需要全局钩子,有的全局钩子过程要放到dll
截获WM_USER+83可以用WH_CALLWNDPROC
wang1st
2011-03-01
打赏
举报
回复
[Quote=引用 4 楼 xiaoc1026 的回复:]
引用 3 楼 wang1st 的回复:
引用 2 楼 xiaoc1026 的回复:
写错, LowLevelKeyboardProc -》 WH_KEYBOARD_LL
谢谢,但是如果不仅仅是按键,我是想截获自定义消息呢? 比如WM_USER+83就是自定义消息。
为什么要整复杂呢,你在钩子里面屏蔽掉 WIN + D 不就行了吗?
使用 GetAsyncKeyState ……
[/Quote]
不是复杂的问题,而是需求要我这样做。假设我不是要取得WIN+D,而是桌面的其他消息呢?
2023年1000个优秀Github项目盘点
Github犹如一座繁星点点的灯塔,照亮了无数优秀的开源项目。最近,我有幸盘点了一千个Github上的优秀项目,从繁杂的代码库中...其中,一些项目致力于解决现实生活中的
问
题
,如开发一款能够帮助残障人士更好地生活的人工
链接:MSDN
User
Net等
发送一个
自定义
消息
给父窗口(对话框),在对话框中映射一个响应该
消息
的函数用做数据处理。在release下经跟踪,
消息
得到响应,
消息
处理函数中的代码均能正常通过,但总会弹出提示,说0X??????指令引用的0000????的...
HTML(3):IE浏览器编程
取ie浏览器文字乱码
问
题
,
高分
相赠!!! T我所写的一个程序中有这样一个功能:用户选取了ie浏览器中的一段文字copy到剪贴板,我的程序从剪贴板中取出文字并显示在edit框中,这在中文系统下没有任何
问
题
,而当程序运行在...
VC++中可能遇到的
问
题
收藏
VC++中可能遇到的
问
题
收藏 | 旧一篇: 在VC中动态加载ODBC时的一些小细节 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d....
adb命令汇总
adb install test.apk -r 覆盖安装,保留数据和缓存文件 -d 解决低版本version
问
题
-s 安装apk到sd卡 2、卸载apk adb uninstall -k <package_name> 可选参数-k的作用为卸载软件但是保留配置和缓存文件 ...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章