我们知道C++的每个窗体都对应着一个句柄HWND,通过这个句柄我们可以对这个窗口以及它的资源进行各种操作,比如让它前端显示等。同样在使用其他语言编程在调用窗体资源时也能使用到。
这里我们可以用spy4win窗口句柄查看工具进行查看,如下图所示。(软件大小2M左右,下载地址在文章底部提供给大家)
默认状态
这里可以根据自己使用习惯进行个性化设置,具体不多说了。
下面是实时显示的内容,当拖动到自己需要查看的位置时松开鼠标spy4win中的数据就会停留在当前所指定的窗口句柄的信息。
打开软件拖动左上角的小狗头像到你需要查看窗口句柄的地方,这时候在要查看的窗口中有边界显示,同时在spy4win中实时显示相应的信息,窗口句柄,标题,位置大小等信息。在调用win程序的软件开发中能给大家带来很大的便利。
下面是一个操作的gif动画,如果以上还不明白的可以看看这个gif动画。因图片过大,这里就以链接形式贴出来不放图片了,有兴趣的可以看看其实也就是一个简单的操作,没有一点技术含量。
http://www.lmdouble.com/wp-content/other_pic/spy4win.gif
什么是窗口句柄?(整理自百度百科)
在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口最小化等等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等,不仅仅局限于窗口函数。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等。
有什么用处?(整理自百度百科)
更准确地说,是windows需要句柄。windows需要向程序员提供必要的编程接口,在这些接口中,允许程序员访问、创建和销毁对象。但是,出于封装地考虑,windows并不想向程序员返回指针。指针包含了太多的信息。首先指针给出了对象存储的确切位置;其次,要操作一个指针,程序员必须知道指针所指对象的内部结构特征,也即,windows必须向程序员暴露相应的数据结构,而这些数据结构也许是操作系统想向程序员隐藏的。如果说COM技术向用户隐藏了数据,只暴露了接口并只允许按接口定义的方法操作数据的话,句柄这种方式则允许你按自己的方式直接操作数据,但windows又不向你直接暴露数据。直接操作数据是程序员需要的,不暴露数据是windows所需要的,句柄封装方式实现了各取所需。
IT技术资料分享-个人整理自互联网,如有侵权请联系作者或者底部网站站长进行处理。