日期:2014-05-16  浏览次数:20892 次

Lesson1: Windows程序运行原理及程序编写流程

1. Windows API与Win32 SDK

操作系统提供了各种方便开发Windows应用程序的编程接口,所的函数都在Windows.h头文件中声明。

Win32 SDK(Software Development Kit): Windows 32位平台下的软件开发包,包括API函数,帮助文档,微软提供的一些辅助开发工具。

 

2.  窗口与句柄

窗口是是屏幕上一块矩形区域,是Windows应用程序与用户进行交互的接口。窗口分为客户区非客户区

在Windows应用程序中,窗口是通过窗口句柄(HWND)来标识的,要对某个窗口进行操作,首先就要得到这个窗口的句柄。其它各种资源(窗口,图标,光标等),系统在创建这些资源时会为它们分配内存,并返回标识这些资源的标识号,即句柄。例如光标句柄(HCURSOR),图标句柄(HICON)

 

3. 消息与消息队列

Windows程序设计是一种基于消息的事件驱动方式的程序设计模式。

消息Windows中由结构体MSG来表示

typedef struct tagMSG{
      HWND hwnd;//消息所属的窗口句柄
       UINT message;//消息本身标识符,由一数值表示,系统对消息定义为WM_XXX宏(WM为Windows Message缩写)
      WPARAM wParam; //随消息的不同附加信息也不同
       LPARAM lParam; //消息的附加参数
       DWORD time; //消息投递的时间
       POINT pt; //鼠标当前位置
}

消息队列:每当一个Windows应用程序创建后,系统都会为该程序创建一个消息队列,这个消息队列用来存放该程序的窗口的消息,消息产生后被投递到消息队列中,应用程序通过一个消息循环不断的消息队列中取出消息进行响应。响应过程由系统向应用程序发送消息,实际就是调用应用程序的消息处理函数

 

4.  创建一个完整的Win32程序,该程序实现创建一个窗口,其中主要步骤为:

(1)