在Windows编程时在用户点了关闭按钮的时候如果想提示一下用户是不是真的要退出时你们是在哪个消息中加入的MessageBox???

解决方案 »

  1.   

    对啊我也是这样想的还想问一下的是如果是用WM_DESTROY结果会是怎么样呢???
      

  2.   

    收到WM_DESTROY时窗口窗口已经从屏幕上消失了,无法挽回了。
      

  3.   


    系统先收到WM_CLOSE消息,然后是WM_DESTROY消息,窗口消息线程收到WM_CLOSE后是要退出的,所以进程就不存在了。
      

  4.   

    不是吧WM_DESTROY,DefWindowProc不会处理,你如果不处理这个消息,虽然你的窗口已经销毁,但进程并不会结束难道不是这样子吗,可以试试,在WM_DESTROY上直接return 0;这样在点了关闭按钮的时候就只是窗口销毁而进程没有去退出,它只是做了WM_CLOSE的工作把窗口销毁了!!!!!
      

  5.   

    是不是不产生WM_QUIT就不会结束进程呢??不解!!
      

  6.   

    WM_DESTROY 的时候,窗口已经销毁,只是 HWND 还有效。这种方式别指望了。
      

  7.   

    看来只能在WM_CLOSE中进行了!
      

  8.   


    确实如你所说。但是调用DestroyWindow后,系统除了发出WM_DESTROY消息后还做了什么,系统对WM_DESTROY消息返回值是怎么处理的,微软都语焉不详,所以还是WM_CLOSE吧。
      

  9.   

    WM_DESTROY之后会调用PostQuitMessage()退出进程.
      

  10.   

    第一个消息:
    WM_CLOSE
    第二种消息:
    WM_SYSCOMMAND, wParam==SC_CLOSE
    这两种情况下都要提示用户是否关闭程序