请教Windows是怎样正确识别各个应用程序的消息队列

请问Windows是怎样正确识别各个应用程序的消息队列
最近刚开始接触Windows应用程序的编程,使用了孙鑫老师的视频及图书。书中有这样一段话:“每个Windows应用程序开始运行后,系统都会为该程序创建一个消息队列,这个消息队列用来存放该程序创建的窗口的消息。”他在视频讲座也提到过,Windows系统能感知输入设备的动作,并把这个动作包装成消息传递到应用程序的消息队列中。
  我现在的困惑是,当有若干个应用程序存在时,就会有若干个消息队列存在。这时,Windows是如何知道要把消息传到哪个消息队列中?

------解决方案--------------------

有一个当前活动对象的概念。 当前操作对象是某个程序,输入消息就会被发送到这个程序。


每个程序自己的消息队列,只不过是一个
while( GetMessage(...) )
{
}
你的程序完全可以忽略windows发送过来的消息。


------解决方案--------------------
是有个窗口的句柄吧,对应某个具体的程序.
句柄(窗口句柄)的作用不久在此吗?

我们一起努力 我也是新手
------解决方案--------------------
最近刚开始接触Windows应用程序的编程,使用了孙鑫老师的视频及图书。书中有这样一段话:“每个Windows应用程序开始运行后,系统都会为该程序创建一个消息队列,这个消息队列用来存放该程序创建的窗口的消息。”
========================================
其实这个说法本身是有问题的,因为消息队列并不是一个进程一个,而是每一个有需要的线程会被创建一个消息队列。

我现在的困惑是,当有若干个应用程序存在时,就会有若干个消息队列存在。这时,Windows是如何知道要把消息传到哪个消息队列中?
================================
消息队列应该是有由系统维护的,你可以想像成有一个由系统维护的队列链表,通过消息接收的窗口等信息,系统很容易定位到具体的队列。
------解决方案--------------------
看《深入浅出MFC》吧,里面讲的很清楚。这一句两句也说不清楚。