基本知识
一些重要的基本概念
窗口
窗口的概念很容易理解,就是我们使用软件时看到的界面。Windows 的核心就是窗口,它是Windows一统PC操作系统市场的杀手锏,如下图所示:
我们使用的软件都有自己的窗口,比如 QQ、计算器、记事本等。这些窗口可以包含输入框、下拉菜单、单选按钮、多选按钮、文本区域等各种各样的控件(Controls),有的甚至还有动画!
窗口、控件、图像、音频视频等都称为资源(Resource),在程序中都可以使用、创建、添加、修改等。
句柄
在Windows编程中,不同窗口、控件、图像等都对应一个唯一的数字(初学者可以理解为 ID),称为句柄(Handle)。通过句柄,程序可以获取对应资源的各种信息,也可以使用、修改、删除该资源。
你可以将句柄理解为学号,你不需要记住学生的姓名、住址、成绩等各种信息,当你需要了解这名学生时,只要去教务处,将学号(句柄)告诉那里的工作人员(Windows),他就能够帮你找到这个学生。
句柄屏蔽了很多细节,程序员不需要了解背后的机制。例如用 CreateFile() 函数创建文件后会返回一个文件句柄,然后通过这个句柄就可以读写、删除该文件,而不需要了解Windows是如何将句柄与文件关联起来的,也不需要了解句柄到底保存了哪些信息,Windows 是闭源的,这些背后的细节只有微软知道。
Windows消息
请看我的另一篇文章操作系统-消息、消息队列