观察用MFC向导生成的单(或多)文档应用程序代码。
框架的窗口的创建是在Initstance()中进行的。消息循环是在CWinApp::Run中开始的。
可奇怪的是创建框架窗口时发送的WM_CREATE在Initstance()结束之前却能被响应,而此时消息循环还未开始(还未进入CWinApp::Run),
怎么可能响应WM_CREATE消息呢?注:关于WM_CREATE在Initstance()结束之前已经响应的证据可以很容易的通过在Initstance()返回前加入AfxMessageBox()得到验证。

解决方案 »

  1.   

    消息不一定要从消息循环中来啊。
    SendMessage发送的消息是不到消息队列中的。
      

  2.   

    SendMessage函数发送的消息是不经过消息队列的 直接把消息发给消息响应函数,从而执行消息响应函数,然后返回到原来SendMessage的地方。。想让消息经过消息队列来通过系统回调 要用PostMessage 函数发送消息 而不是SendMessage函数。
      

  3.   

    http://topic.csdn.net/u/20100408/11/017964a9-5424-48d0-9965-5646561d67c8.html  
    关于进队消息和不进队消息的