Windows运行机理——窗口和句柄

Windows运行机理这系列文章都是来至于《零基础学Qt4编程》——吴迪,个人觉得写得很好,所以进行了搬运和个人加工

1. 窗口

窗口是Windows应用程序中一个非常重要的元素,一个Windows应用程序至少要有一个窗口,称为主窗口,窗口是指现在是屏幕上面的一快矩形区域,是Windows应用程序与用户进行交互的接口。利用窗口,可以接收用户的输入及显示输出。

一个应用程序窗口通常包含标题栏,菜单栏,系统菜单,最小化框,最大化框,可调边框,还有滚动条,一个典型的窗口可以入下图所示

窗口可以分为客户区和非客户区,客户区是窗口的一部分,应用程序通常在客户区中显示文字或绘制图形。标题栏、菜单栏、系统菜单、最小化和最大化,可调系统边框为窗口的非客户区,他们有windows来管理,而应用程序则主要管理客户区的外观及操作。

窗口可以有一个父窗口,有父窗口的窗口称为子窗口,另外,对话框和消息框也是一种窗口,在对话框上面还包含许多子窗口,这些子窗口的形式有按钮,单选按钮,复选框,组框,文本编辑框等。

此外,在我们启动Windows系统后,我们的创面也是一个窗口,称为桌面窗口,是位于最上层的窗口,有Windows系统创建和管理。

 

2.句柄

句柄:Handle。Windows具有很强的面向对象德行,Windows对象有很多,碧如桌面,读取所使用的程序等等。那么如何区分这些东西,答案就是使用句柄。句柄是引用不同Windows对象的方式,可以使用Windows句柄,文件句柄,分配内存句柄,图形句柄等,系统在创建这次资源的时候回为期分配内存,并返回标识这些西苑的标识号,这个标识号就是句柄,实际上,我们可以将句柄看做是指针。

在使用句柄之前,必须先创建他们,当不在使用时,应当及时销毁,如果不销毁他们,最终将到时资源泄露,资源泄露有可能导致系统崩溃,所以,务必确保在适当的时候销毁不在使用的句柄。

 

在Windows应用程序中,窗口是通过句柄HWND来标识的,我们要对某个窗口进行操作,首先就要获取到这个窗口的句柄,这就是窗口和句柄的联系。

 

 

posted @ 2018-03-17 14:03  DreamDog  阅读(457)  评论(0编辑  收藏  举报