ITjob 就业培训,九年一剑,100%就业率打造IT 就业培训第一品牌 ITjob 软件开发教程网 Win32 编程 此资料为ITjob 软件开发教程网提供,特此分享,互相学习
C/C++/VC/MFC 技术交流群:95453496 一、Win32 编程基本概念 1、消息驱动 在介绍 Window s 消息驱动概念之前,我们首先来回顾面向过程的程序结构:main()程序有明显的开始、中间过程和结束点,程序是围绕这个过程编写好相关的子过程,再把这些子过程串联在一起
程序编好以后,该过程也就确定了,程序必须按照规定好的顺序执行:是否需要用户的输入、输入什么、程序取得用户输入以后做什么处理,处理完毕将结果显示给用户
该过程一旦确定,程序的执行过程也是固定的,用户不能干预
而 Window s 编程所采用设计思想是:消息驱动,又叫做事件驱动
在这种程序结构中,程序没有明显的开始、结束,程序流程的控制由各种随机发生、不确定、没有预先设定顺序的事件的发生来触发
是一个不断产生消息和处理消息的过程
也就是说程序一运行开始处于等待消息状态,取得消息以后,就对该消息做出相应的处理,完成处理以后又进入等待消息的状态
这种程序结构与 Window s 操作系统结合非常紧密,最明显一点就是消息的管理是由操作系统完成的
应用程序从操作系统获得消息有两种方式:一种就是应用程序调用 Window s 提供的消息获取函数;另外一种就是回调函数,由操作系统自己调用
这种消息驱动机制,有点像银行的柜台业务:早上八点,银行开门(Window s 应用程序开始运行),每个营业员(Windw ow s 线程)回到自己的柜台开始办公
如果有顾客来办理相关业务(相当于 Window s 消息),那么对应的业务员就进行处理
顾客来办理业务的时间以及业务类型都是随机的,如果某一时刻没有顾客办理业务并且没有到下班时