AMD Athlon(tm)II X2 245 Processor; 2.90GHz, 1.75GB的内存.case WM_DESTROY:
    PostQuitMessage(0);
    return 0;多数情况下,从上面代码退出后就不再进入WinMain函数中了,不知道是什么原因.
偶尔会出现一次能够进入WinMain函数.
不知道系统在   PostQuitMessage(0)到 WM_QUIT消息之间会做哪些工作,有什么可能会使消息发生变化.基本可能确定不是自己所写代码的问题.具体情况是:只要执行过一个音乐处理相关的DLL的代码,多数情况下都会出现该问题.

解决方案 »

  1.   

    应该没有别的工作了吧,postquitmessage就是发送了个wm_quit吧
      

  2.   

    其他同事什么CPU? 我以前也用AMD做开发,在一个视频处理的过程中老是会中断,后来换Intel就没问题了。没有深究原因,可能是两种CPU的多媒体指令集不同引起的,MMX, SSE什么的。可能是硬件指令异常引起的。
      

  3.   

    其他同事都是AMD的,也有XP系统,也有WIN7系统.您所说的硬件指令异常,我这种情况,应该会与时间有关吧,不然怎么会时出时不出呢?谢谢您!
      

  4.   

    发送WM_CLOSE消息,然后在OnClose里边DestroyWindow(),当非客户区即将被销毁时,框架调用这个函数OnNcDestroy,这是Windows的窗口被销毁时调用的最后一个成员函数,缺省的实现执行一些清除工作,然后调用虚成员函数PostNcDestroy。
    PostQuitMessage(0)促使GetMessage函数返回0,直接就退出主线程了。
    需要注意的是,发送消息让对话框关闭,应该发送WM_CLOSE消息,这样可以让对话框完成它自身的资源释放回收。