关于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给每个资源分配一个资源标识号,即句柄。




Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐