如果拦截并修改SendMessage发的消息?

nautilous 2012-01-09 05:21:25
目前我的理解是:WH_CALLWNDPROC可以拦截SendMessage发出的消息,但是无法修改;
WH_GETMESSAGE可以拦截PostMessage发出的消息,也可以修改之。

我想拦截并修改SendMessage发的消息,该使用哪种类型的钩子?
...全文
633 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2012-01-10
  • 打赏
  • 举报
回复
用SetWindowPos也可以隐藏窗口
nautilous 2012-01-10
  • 打赏
  • 举报
回复
那请问如何修改窗口过程呢?SetWindowLong设置哪个样式可以让窗体隐藏?
Lactoferrin 2012-01-10
  • 打赏
  • 举报
回复
都说了不能改,要改只能修改窗口过程
nautilous 2012-01-10
  • 打赏
  • 举报
回复
既然能监控到,难道不能修改吗?

我现在监控到了发向某窗体的WM_SHOWWINDOW消息,然后调用ShowWindow(msg.hwnd,SW_HIDE)来使其隐藏。但这样不够完美,因为消息仍然到达了目标窗体,窗体先显示,然后再被我发的消息隐藏,看起来就是会闪一下。如果能杀掉这条WM_SHOWWINDOW的消息,或者改成WM_NULL就可以了。可这该怎么实现?
求教!
nautilous 2012-01-10
  • 打赏
  • 举报
回复
还是没用。另外我的主窗体本来就是隐藏的。。。也不希望显示出来。
我在想SETWINDOWLONG可不可以设置窗体为某种不获得焦点的样式?
s11ss 2012-01-10
  • 打赏
  • 举报
回复
再加个ShowWindow(GetParent(msg.hwnd), SW_SHOW)试试!
nautilous 2012-01-10
  • 打赏
  • 举报
回复
已经这么做了,没有用。。。
s11ss 2012-01-10
  • 打赏
  • 举报
回复
调完SetWindowPos,再调SHowWindow传SW_HIDE,试试![Quote=引用 11 楼 nautilous 的回复:]
膜拜s11ss 这招都能想到,牛叉啊!
最后一个力求完美之处,能不能让这个屏幕外的窗体不获得焦点?
现在不会出现闪一下的情况,但是桌面上已有的窗体会自动失去焦点。
[/Quote]
nautilous 2012-01-10
  • 打赏
  • 举报
回复
膜拜s11ss 这招都能想到,牛叉啊!
最后一个力求完美之处,能不能让这个屏幕外的窗体不获得焦点?
现在不会出现闪一下的情况,但是桌面上已有的窗体会自动失去焦点。
s11ss 2012-01-10
  • 打赏
  • 举报
回复
不要用SetWindowPos传SWP_HIDEWINDOW的方法,因为这样就与SHowwindow传SW_HIDE一样了,都会闪一下。
s11ss 2012-01-10
  • 打赏
  • 举报
回复
调用SetWindowPos把窗体的位置改到屏幕外,就看不到了!
SetWindowPos(msg.hwnd,0,0,30000{Top},0,0,SWP_NOZORDER or SWP_NOSIZE or SWP_NOACTIVATE)
[Quote=引用 5 楼 nautilous 的回复:]
既然能监控到,难道不能修改吗?

我现在监控到了发向某窗体的WM_SHOWWINDOW消息,然后调用ShowWindow(msg.hwnd,SW_HIDE)来使其隐藏。但这样不够完美,因为消息仍然到达了目标窗体,窗体先显示,然后再被我发的消息隐藏,看起来就是会闪一下。如果能杀掉这条WM_SHOWWINDOW的消息,或者改成WM_NULL就可以了。可这该怎么实现?
求教!
[/Quote]
都先生 2012-01-09
  • 打赏
  • 举报
回复
我也觉得不可能修改,既然已经发出来了
Lactoferrin 2012-01-09
  • 打赏
  • 举报
回复
没法改,你可以用SetWindowLong修改窗口过程
nautilous 2012-01-09
  • 打赏
  • 举报
回复
转发是什么概念?我把消息号修改为WM_NULL,不起作用的
我看见佛 2012-01-09
  • 打赏
  • 举报
回复
拦截后再转发?

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧