Windows应用程序是以消息为基础、以事件为驱动的应用程序。当应用程序在运行时,会不断地等待操作系统发送给自身的消息(while循环),然后根据不同的消息进行相应的处理。这里的消息实际上就是一种数据结构,包含窗口句柄、消息标识和一些辅助信息。
消息概述:
Windows应用程序是基于消息的程序设计模式。例如,当用户在窗口上移动鼠标时,操作系统就会发现这一事件,并将该事件封装成一个消息,发送到消息队列中。应用程序从消息队列中依次取出消息,并将其回传给操作系统,由操作系统调用“窗口函数”对消息进行处理。
消息的结构:
Windows定义了一个消息结构MSG。
typedef struct tagMSG {
HWND hwnd; //窗口句柄(窗口句柄起到标识对象的作用)
UINT message;