第一章、Windows程序内部运行机制

API:Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称API函数,就是系统提供的函数,所有主要的Windows函数都在Windows.h头文件中进行了声明。

SDK:SDK(Software Development Kit),中文翻译为软件开发包。包括API函数,帮助文档,微软提供的辅助开发工具。

1.2窗口与句柄

窗口分为客户区和非客户区。
客户区:客户区是窗口的一部分,应用程序通常在客户区中显示文字或者绘制图形。
非客户区:标题栏、菜单栏、系统菜单、最小化框和最大化框、可调边框统称为窗口的非客户区。

对话框和消息框也是一种窗口,在对话框上实际上还有许多的子窗口。
窗口是通过窗口句柄来标识的,我们要对某个窗口进行操作,首先要得到这个窗口的句柄。

1.3消息与消息队列

在Windows程序中,消息是由MSG结构体来表示的。
typedef struct tagMSG { // msg
HWND hwnd; //表示消息所属的窗口
UINT message; //消息的标识符,用数值来表示,对应的数值定义为WM_XXX宏,如WM_LBUTTONDOWN(鼠标左键按下消息),WM_CHAR(字符消息)
WPARAM wParam; //消息的附加消息
LPARAM lParam; //消息的附加消息
DWORD time; //消息投递到消息队列的时间
POINT pt; //鼠标的当前位置
} MSG;

消息队列:按下鼠标左键时,产生WM_LBUTTONDOWN消息,系统将消息放到窗口所属应用程序的消息队列中,应用程序通过消息循环取出消息,进行消息响应。

进队消息:消息由系统放入到应用程序的消息队列中,然后由应用程序取出和发送。不进队消息:在系统调用窗口过程时直接发送给窗口。进队消息和不进队消息最终都由系统调用窗口过程函数对消息进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

身影王座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值