为传统的操作系统编写的程序使用过程化的模型,程序往往是从头到尾顺序执行,例如C程序,从第一行带有main()函数的语句开始执行,windows程序则不是这样执行的,他们使用如下图的事件驱动编程模型,应用程序通过处理操作系统发送来的消息来响应事件。
事件:可以是一次鼠标单击,或者是要求窗口更新等其他命令;
**程序进入点:**WinMain函数,WinMain函数创建窗口,并进入消息循环,即获取消息
或将其调度给窗口过程;
窗口过程:大部分操作都是在这里发生,窗口过程函数处理发送给窗口的消息;
消息队列:消息被检索前处于消息队列中等待;
一个典型的应用程序绝大部分操作都是在响应它接受到的消息,除了等待下一个消息到达之外,什么也不做。在C语言中,窗口过程一般作为一个巨大的函数实现,该函数包含一个很大的SWITCH语句,为每一个消息都提供一个选项,处理特定消息的程序代码被称为消息处理程序。
啥是消息?Windows定义了成千上百个消息,大多数都是以字符WM开头并带有下划线,例如WM_CHA