关于API:应用程序如何告知os执行某个功能?
函数调用的方式:os完成某个功能以函数与其对应,将接口提供给应用程序使用,应用程序对os函数的调用叫系统调用,这些被提供的函数集合就叫API 比如CreateWindow根据窗口产生相应窗口就是提供给应用程序的API windows系统的函数集合叫Windows API
关于消息:os怎将感知的事件传递给应用程序?
通过消息机制:将事件封装成消息
typedef struct tagMSG{
HWND hwnd; //窗口句柄
UNIT message; //事件类型,如鼠标左单击,以WM_开头,如WM_CHAR按键//信息
WPARAM wParam; //根据事件类型附加具体信息
LPARAM lParam; //根据事件类型附加具体信息
DWORD time; //消息传递系统时间 32位整数
POINT pt; //消息投递时光标的位置
}MSG,*PMSG
关于消息对列:os为每个应用程序建立一个消息队列
先进先出的缓冲区,每个元素是一个消息。应用程序总是取走队列第一个消息做处理
关于句柄:os管理和操作资源
句柄是资源的标识。按资源的分类:窗口、光标、图标等。os给每个资源分配一个资源标识号,即句柄。