关于Windows消息的几个问题。
都说Windos是基于消息响应机制的,有几个小白问题想请教一下大家:
1.Windos的消息(WM_XXXX)是不是只发给窗口程序还是一个非窗口程序只写一个GetMessage就能得到所有消息?
2.当一个消息产生时,处理流程是什么?系统是广播出去的吗?即:系统针对一个消息遍历当前系统所有进程,每个进程里面再发给每个线程,再看线程中是否处理这个消息。如果不是这样的流程,那应该是怎么样的?某个进程中的某个线程运行一个窗口程序,这个窗口程序是如何得到系统的消息呢?
3.在MFC中,当一个类继承自CWnd,然后只需Create后就能接收消息了,不需要showwindow或者domodal之类的,那么消息是如何发给这个窗口呢?我的意思是Create并没有阻塞创建它的线程,那消息是如何分发过去的,使用windwos api创建窗口会使用while循环不断读取消息,相当于阻塞的线程,那Mfc窗口是如何做到不阻塞线程又能收消息的呢?