CBTProc中拦截到code为HCBT_DESTROYWND,返回1,窗体还是销毁了!怎么办!!!我要实现的是不让窗体销毁,但窗体可以关闭(可以处理WM_CLOSE消息)。我换了一种方法,就是Hook掉DestroyWindow,不过窗体还是销毁了!!!

解决方案 »

  1.   

    我是想让外部程序的响应WM_CLOSE的代码得到执行,然后如果它DestroyWindow的话,阻止他!
      

  2.   

    我觉得行不通,因为WM_DESTROY是由DestroyWindow发出的,现在截DestroyWindow都不行,更不用说截WM_DESTROY了
      

  3.   

    执行到OnClose一定会销毁窗口啊
      

  4.   

    所谓关闭,如果不销毁的话就是隐藏。你可以hook PostQuitMessage,然后隐藏窗口
      

  5.   

    这个窗口是在主线程中创建的,如果它关闭或销毁后发送PostQuitMessage的话,会退出程序的;而我关它时程序没退出,证明没有调用PostQuitMessage啊!hook它不行吧!
      

  6.   

    尽量在CLOSE之前将所有功能都完成了,
    否则就会报错误
      

  7.   

    WM_CLOSE消息以后DestroyWindow->WM_DESTROY消息