Window 消息机制
定义
Window 是一个消息驱动式系统。
两种消息队列:一是系统消息队列,二是应用程序消息队列。
运行
一个事件发生时,输入数据先放入系统消息队列,在将数据复制到相应的应用程序队列中,数据消息循坏在队列中时检索每个消息平发送到对应的窗口函数。
注:无论事件的缓急,消息总是先后排队。
消息函数
SendMessage函数
调用窗口的函数(消息没有处理完毕不会返回值 返回值为 true)
WM_COMMAND 消息
当用户选择命令时,该消息发送到该命令对应的父窗口。(应用处理完后返回值为 零)
WM_DESTROY 消息
当窗口被销毁时发送该消息。(处理完后返回 0)
WM_GETTEXT 消息
应用程序发送该消息后,会将一个对应窗口的文本复制到缓冲区。(返回:被复制的字符数)
WM_QUIT 消息
当应用程序调用 PostQuitMessage 函数时(退出代码),生成该消息。(无返回值)
WM_LBUTTONDOWN 消息
当用户在一个窗口的客户区按下鼠标左键时,发送该消息。
当鼠标动作未捕获时,消息发送到光标以下的窗口,否则发送到已经捕获的动作的窗口。(返回值为0)
虚拟内存
通过映射(Map)的方法使可用虚拟地址达到一定量(如:2GB),分别分配给应用程序和操作系统。
Window是分时的多任务操作系统,CPU时间分成几部分(时间片)给不同应用程序。
操作系统和系统DLL代码在任意时刻都映射到时间片上,而应用程序在使用时才映射到对应的时间片上。
注意
1、应用程序不会直接访问物理地址。
2、虚拟内存管理器通过虚拟地址访问所有物理地址
3、不同应用的地址空间彼此分离
4、DLL程序总是映射到其他应用程序的地址空间。
总结
勤能补拙。
4376

被折叠的 条评论
为什么被折叠?



