APP下载

深入分析Windows消息机制

2011-04-16王光辉

电脑与电信 2011年2期
关键词:机制系统

王光辉

(成都理工大学信息科学与技术学院,四川成都610059)

1.引言

Windows操作系统是基于消息响应机制的被动式系统。Windows应用程序是消息驱动[1]程序,又称事件驱动程序。事件驱动意味着操作系统的每一部分之间以及操作系统与应用程序之间是通过“消息”进行通信联系的。由此可见,消息机制在Windows应用编程[2]的重要性。

2.消息

2.1 消息定义

消息是指Windows发出的一个通知[3],告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口大小、按下键盘上的一个键都会使Windows发送一个消息给应用程序。它可以由硬件、Windows、应用程序共同产生。消息通常分为以下四种:

(1)标准消息:除了WM_COMMAND,所有的以WM开头的消息都是标准消息。如窗口、鼠标移动、窗口大小改变等。程序启动或退出甚至每一段固定的时间都会产生标准Windows消息。

(2)命令消息:来自于菜单、加速键、工具栏按钮的消息,这类消息都以WM_COMMAND形式呈现。

(3)通知消息:由控件产生的消息。按键和鼠标的单击列表框都会产生这类消息[4],这类消息的目的是为了向父窗口(通常是对话框)通知事件的发生,它也是以WM_COMMAND形式呈现的。

(4)用户自定义的消息。

2.2 消息结构

在Windows程序中,消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其它信息,由MSG结构体表示。MSG结构体的定义如下:

在MSG结构中,消息是由一个消息名称(UINT)和两个参数(WPARAM,LPARAM)组成。当用户进行了输入或者窗口的状态发生改变时,系统都会发送消息到某一个窗口。例如,当菜单点中之后会有WM_COMMAND消息发送。……

登录APP查看全文

猜你喜欢

机制系统
Smartflower POP 一体式光伏系统
构建“不敢腐、不能腐、不想腐”机制的思考
WJ-700无人机系统
ZC系列无人机遥感系统
基于PowerPC+FPGA显示系统
半沸制皂系统(下)
自制力是一种很好的筛选机制
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
定向培养 还需完善安置机制
破除旧机制要分步推进