社区
进程/线程/DLL
帖子详情
帮忙实现个消息转发的hook
jzg1234
2008-03-17 09:24:20
知道两个窗口的句柄 hwnd1 hwnd2
但是没有hwnd1的消息处理,也就是不能取得hwnd1的消息,所以想用hook来实现一下
将hwnd1的一个区域(hwnd1的一部分)内的所有鼠标消息转发给 hwnd2 ,
请问该如何实现,最好给点代码,现在不太想研究hook,使用dll或者直接hook都行,只要代码简单就OK了
分不够可以再加的啊~~~~
...全文
152
9
打赏
收藏
帮忙实现个消息转发的hook
知道两个窗口的句柄 hwnd1 hwnd2 但是没有hwnd1的消息处理,也就是不能取得hwnd1的消息,所以想用hook来实现一下 将hwnd1的一个区域(hwnd1的一部分)内的所有鼠标消息转发给 hwnd2 , 请问该如何实现,最好给点代码,现在不太想研究hook,使用dll或者直接hook都行,只要代码简单就OK了 分不够可以再加的啊~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jzg1234
2008-03-18
打赏
举报
回复
好的,非常感谢
我大部分功能都实现完成了,就只有在鼠标消息里的wParam参数了,不知道哪里有传递shift、ctrl、lbutton和rbutton的按下状态。
不过基本功能够用了
结帖,对了,要是有知道的,帮忙告诉一下
谢谢~~~~
cnzdgs
2008-03-18
打赏
举报
回复
WM_NCHITTEST消息的LPARAM是屏幕坐标,用MOUSEHOOKSTRUCT结构中pt.y<<16+pt.x。
Hook函数返回非0窗口就得不到消息了。
jzg1234
2008-03-18
打赏
举报
回复
我现在不清楚呢,只是把消息简单的发给下个 hook了
我现在想实现这样的功能:
把这个鼠标消息,使用sendmessage发送到另外的一个窗口,请问如何用MOUSEHOOKSTRUCT组织成鼠标消息的WPARAM 和 LPARAM ,鼠标消息的LPARAM是不是都是客户区域的鼠标位置,还是有屏幕上的鼠标位置,WM_NCHITTEST消息该如何处理。
在发送完成后我想让原来的窗口得不到这个消息该如何处理,返回负数??
cnzdgs
2008-03-18
打赏
举报
回复
你现在是怎么处理的?
jzg1234
2008-03-18
打赏
举报
回复
[Quote=引用 4 楼 cnzdgs 的回复:]
是SetWindowsHookEx更可靠一些,因为很多鼠标消息可能不会调用主窗口的窗口函数。
[/Quote]
这个能帮忙解释一下吗?现在正是遇到这个问题,只有主窗口在第一次激活时才出发鼠标点击事件,我以为是WM_NCHITTEST消息的问题,就把这个消息也给转发了,但是还是得不到正常的鼠标消息~~
cnzdgs 帮忙指点一下吧~~
jzg1234
2008-03-17
打赏
举报
回复
我也想过子窗口化,只是我在测试的时候子窗口化会出问题,才想用HOOK的
我现在还在测试子类化,如果可以就不用hook了,不太喜欢hook的方式
jameshooo
2008-03-17
打赏
举报
回复
子类化窗口就可以了,就是重新设置窗口过程来实现消息拦截。
区域鼠标消息在消息中自己判断鼠标位置就行了,但是如果这个区域中有子窗口,可能收不到子窗口的消息,不是所有的消息子窗口都会发送父通知消息的。
star119119
2008-03-17
打赏
举报
回复
dll的话,是 拦截另外一个程序的函数调用.
hook我也不是很熟悉,我只用来拦截api调用.针对键盘鼠标消息可以进行拦截.其他的还没用过
cnzdgs
2008-03-17
打赏
举报
回复
接收窗口消息必须是同一进程内的代码,不同进程则需要注入代码。重设窗口函数和SetWindowsHookEx的方法类似,不过还是SetWindowsHookEx更可靠一些,因为很多鼠标消息可能不会调用主窗口的窗口函数。
用SetWindowsHookEx给WH_MOUSE参数,在MouseProc中根据当前线程ID(或者进程ID)判断是不是目标线程(或进程),再判断是不是要监视的区域,如果是则发消息通知hwnd2。
C/C++:Windows编程—
Hook
IE浏览器
实现
URL拦截及更改(上)
Hook
IE浏览器
实现
URL拦截及更改 前言+思路 笔者这里有个需求,针对IE浏览器 用户访问URL 做一个判断,是否为 限制访问的url,如果是 在另一个软件上给与警告提示。笔者在拿到这个需求的时候也是网上一顿找,在csdn上找到一篇
hook
IE 总结。这篇文章给我一些思路,获取IE浏览器访问的URL 那么需要知道 IE浏览器访问URL 用的那种方式,从这文章提示使用 WININET.dl...
代理(静态代理与动态代理)、
Hook
本文大量运用了Java反射,没了解过的可先看一下:https://blog.csdn.net/Kiefer_lin/article/details/118867193?spm=1001.2014.3001.5501 代理(Proxy) 代理是一种常用的设计模式,其核心就是代理类负责为委托类预处理
消息
,过滤
消息
并
转发
消息
,以及进行
消息
被委托类执行后的后续处理。分为静态代理和动态代理。 举一个例子讲清楚什么是代理? 你在租房子的时候,由于自己掌握的资源不够,为了租到比较适合自己的房子,你就需要找中介(代理)帮你
React 全家桶(react脚手架 redux react-redux react-router-dom ui库 react
Hook
)含 自定义
hook
的方法及使用
React 全家桶(react脚手架 redux react-redux react-router-dom ui库 react
Hook
)含 自定义
hook
的方法及使用
Android插件化原理解析——
Hook
机制之动态代理
转发
必注明出处:
Hook
机制之动态代理 使用代理机制进行API
Hook
进而达到方法增强是框架的常用手段,比如J2EE框架Spring通过动态代理优雅地
实现
了AOP编程,极大地提升了Web开发效率;同样,插件框架也广泛使用了代理机制来增强系统API从而达到插件化的目的。本文将带你了解基于动态代理的
Hook
机制。 阅读本文之前,可以先clone一份...
插件化学习之
Hook
是怎么回事
最近在学插件化的东西,插件化提到了一个
Hook
技术,发现
Hook
这个词什么意思都不知道,经过研究学习后有了一定的理解,这里做一下对
Hook
理解的笔记。 下面通过一个例子来理解
Hook
,启动一个没有在AndroidManifest.xml 注册的Activity; 我们知道Android 的Activity 是需要在AndroidManifest.xml 注册的,如果没注册是不能创建成功...
进程/线程/DLL
15,472
社区成员
49,183
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章