消息队列:消息队列有两种,分为系统消息对垒和应用程序消息队列
产生的消息首先由windows系统捕获
放在系统消息队列中,再拷贝到对应的应用程序消息队列中
系统为每一个应用程序维护一个消息队列
消息循环:系统为每个应用程序维护一个消息循环
消息循环会不断检测自身的消息队列,每有一个消息
就用getmessage()取出消息
DispatchMessage()把取出的消息分配给相应的窗口或线程
由窗口过程处理函数defWindowproc处理
windows的应用程序靠消息驱动来实现功能。
而消息驱动靠消息机制来处理。消息机制就有由消息队列、消息循环、消息处理构成
windows为每个需要接受消息和处理消息的线程
建立消息对垒,包括发送消息对垒、等级消息队列、输入消息对垒、响应消息队列
其中发送消息对垒保存其他线程通过SendMessage发送给该线程的建立窗口的消息
等级消息队列保存通过PostMessage发送给该线程或该线程建立窗口的消息
输入消息队列保存系统的输入
响应消息对垒包含该线程调用sendMessage给指定窗口的窗口处理函数处理完后