如何让外部程序的窗口可以关闭但不能销毁

s11ss 2012-04-08 05:54:00
CBTProc中拦截到code为HCBT_DESTROYWND,返回1,窗体还是销毁了!怎么办!!!

我要实现的是不让窗体销毁,但窗体可以关闭(可以处理WM_CLOSE消息)。

我换了一种方法,就是Hook掉DestroyWindow,不过窗体还是销毁了!!!
...全文
172 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2012-04-15
  • 打赏
  • 举报
回复
WM_CLOSE消息以后DestroyWindow->WM_DESTROY消息
山东蓝鸟贵薪 2012-04-15
  • 打赏
  • 举报
回复
尽量在CLOSE之前将所有功能都完成了,
否则就会报错误
s11ss 2012-04-13
  • 打赏
  • 举报
回复
这个窗口是在主线程中创建的,如果它关闭或销毁后发送PostQuitMessage的话,会退出程序的;而我关它时程序没退出,证明没有调用PostQuitMessage啊!hook它不行吧![Quote=引用 7 楼 的回复:]
所谓关闭,如果不销毁的话就是隐藏。

你可以hook PostQuitMessage,然后隐藏窗口
[/Quote]
zhanshen2891 2012-04-13
  • 打赏
  • 举报
回复
所谓关闭,如果不销毁的话就是隐藏。

你可以hook PostQuitMessage,然后隐藏窗口
向立天 2012-04-13
  • 打赏
  • 举报
回复
执行到OnClose一定会销毁窗口啊
s11ss 2012-04-13
  • 打赏
  • 举报
回复
顶~~~~
s11ss 2012-04-09
  • 打赏
  • 举报
回复
我觉得行不通,因为WM_DESTROY是由DestroyWindow发出的,现在截DestroyWindow都不行,更不用说截WM_DESTROY了[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:
我是想让外部程序的响应WM_CLOSE的代码得到执行,然后如果它DestroyWindow的话,阻止他!

引用 1 楼 的回复:
隐藏呢?

用钩子截取WM_DESTROY?
[/Quote]
shn521 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
我是想让外部程序的响应WM_CLOSE的代码得到执行,然后如果它DestroyWindow的话,阻止他!

引用 1 楼 的回复:
隐藏呢?
[/Quote]
用钩子截取WM_DESTROY?
s11ss 2012-04-08
  • 打赏
  • 举报
回复
我是想让外部程序的响应WM_CLOSE的代码得到执行,然后如果它DestroyWindow的话,阻止他![Quote=引用 1 楼 的回复:]
隐藏呢?
[/Quote]
shn521 2012-04-08
  • 打赏
  • 举报
回复
隐藏呢?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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