窗口句柄 win32获取窗口句柄


窗口句柄 win32获取窗口句柄

文章插图
大家好,小豆豆来为大家解答以上的问题 。win32获取窗口句柄,窗口句柄这个很多人还不知道,现在让我们一起来看看吧!
1、句柄就是个数字,一般和当前系统下的整数的位数一样,比如32bit系统下就是4个字节 。
2、这个数字是一个对象的唯一标示,和对象一一对应 。
3、这个对象可以是一个块内存,一个资源,或者一个服务的context(如 socket , thread)等等 。
【窗口句柄 win32获取窗口句柄】4、这个数字的来源可以有很多中,只要能保证和它代表的对象保持唯一对应就可以,比如可以用内存地址 , 也可以用句柄表的序号,或者干脆用一个自增ID,再或者用以上的值去异或一个常数 。
5、扩展资料:windows 之所以要设立句柄 , 根本上源于内存管理机制的问题—虚拟地址,简而言之数据的地址需要变动,变动以后就需要有人来记录管理变动 , (就好像户籍管理一样),因此系统用句柄来记载数据地址的变更 。
6、传统上操作系统内核和系统服务API都是 C 语言接口的,但是其内部设计理念上又是OO的,所以有对象概念却没有对应的语言语法支持 。
7、句柄的作用就是在 C 语言环境下代替 C++ 的对象指针来用的,创建句柄就是构造 , 销毁句柄就是析构,用句柄调用函数相当于传入this指针 。
8、如果有系统API是 C++ 接口的,那么就没有句柄了,而是某个接口指针,IXXXPtr之类的,比如Windows的com ptr 。
9、参考资料来源:百度百科-句柄Windows 操作系统中是用句柄来辨识的 , 比如一个窗口就有相应的窗口句柄 , 句柄是一个十六进制的长整型 long 比如0x0001245被VC定义为 Handle 。
本文到此分享完毕,希望对大家有所帮助 。