第1章 Windows程序内部运行机制

时间:2023-02-05 04:46:37

1.       APISDK

a)         Application Programming Interface

b)         Software Development Kit

2.       句柄

a)         句柄:HANDLE

b)         窗口句柄:HWND

c)         图标句柄:HICON

d)         光标句柄:HCURSOR

e)         画刷句柄:HBRUSH

3.       窗口的创建

a)         设计一个窗口类

b)         注册窗口类

c)         创建窗口

d)         显示及更新窗口

e)         编写消息循环

f)          编写窗口过程函数

4.       _stdcall_cdecl是两种不同的函数调用约定,定义了函数参数入栈的顺序。在VC++开发环境中,默认的编译选项是_cdecl,对于那些需要_stdcall调用约定的函数,在声明时必须显式地加上_stdcall

a)         Windows中,回调函数必须遵循_stdcall调用约定,所以我们在声明回调函数时要使用CALLBACK

5.       PeekMessage的前四个参数与GetMessage的四个参数的作用相同。最后1个参数指定消息获取的方式,如果设为PM_NOREMOVE,那么消息将不会从消息队列中被移除;如果设为PM_REMOVE,那么消息将会从消息队列中移除(与GetMessage一致)

6.       发送消息:

a)         SendMessage:将消息直接发送给窗口,并调用窗口的窗口过程进行处理。在窗口过程对消息处理完毕后,该函数才返回(SendMessage发送的消息为不进队消息)

b)         PostMessage:将消息放入与创建窗口的线程相关联的消息队列后立即返回。

c)         PostThreadMessage:向线程发送消息,对于线程消息,MSG结构体中的hwnd成员为NULL.

7.       Windows平台下,所有的图形操作都是利用DC来完成的。