一、 初篇
Win32应用程序可以分成两大类:控制台程序和Windows窗口界面程序。其中控制台程序的入口是main(或_tmain),而窗口界面程序的入口函数是WinMain(或_tWinMain)函数。在使用VS2010创建工程时我们也会看到Win32功能的两种类型:Win32 Console application和Win32 Project,后者就是我们将要讨论的窗口界面程序。
Windows为用户提供了一系列的接口用于开发Windows界面程序,即使我们常见MFC也是对这些接口的包装,虽然这些接口用起来很麻烦,但是我们还是有必要了解它们,这样才能让我们真正对界面开发有一个深入的认识。
首先,我们要明白什么是消息以及消息队列。消息就是Windows系统检测到用户的一些操作(比如鼠标、键盘)并将这些操作的信息进行包装成一个结构体对象传递给应用程序。而消息队列就是Windows保存消息的一个容器,应用程序需要创建消息循环来完成监测该队列并获取处理Windows所捕获到的消息。消息循环即是我们后面会提到的GetMessage/DispatchMessage等函数。