13.1.2 Windows 程序的工作过程
Windows 程序都是在 Windows 操作系统的控制下运行的,它们不能直接访问硬件,与外部的所
有通信都是通过 Windows 操作系统来完成的。也就是说,当我们使用 Windows 程序时,首先与
Windows 操作系统交互,然后再由 Windows 操作系统代表我们与应用程序进行通信。
之所以如此,主要原因是因为 Windows 操作系统是多任务的,同时在一台计算机中可能运行着
多个程序。多个程序必须同时共享计算机的资源,所以 Windows 操作系统必须拥用对计算机资源的
管理和控制权,为便为各个程序分配相应的资源实现共享。
那么, Windows 操作系统如何与应用程序进行通信?前面说过, Windows 应用程序是基于消息
驱动的,这句话的含义就是 Windows 操作系统通过消息与应用程序进行通信。当用户在窗口中单击
鼠标、按下某个按键或某个定时器归零等这样的事件时, Windows 操作系统会将每个事件记录在一
条消息,并将该消息放入到目标程序的消息队列中。然后应用程序从自己的消息队列中获取消息,
以获取用户对应用程序的操作请求。
Windows 应用程序必须包含专用处理这些消息的函数,以便处理来自用户的请求。在应用程序的
消息处理函数中,编程人员应该负责根据提供的数据,确定消息的意义以及应该采取的动作。幸运
的是,我们不必在消息处理函数中为所有消息编写处理代码,可以筛选出那些应用程序所关心的消
息,以应用程序的要求处理这些消息,并将其余消息回传给 Windows 。
第 1 页 / 共 17 页