导航:首页 > 语言文字 > 语文中的句柄是什么

语文中的句柄是什么

发布时间:2022-05-09 17:53:53

A. 什么是句柄为什么要获得它

句柄可以理解成一个对象的代言人,句柄是对对象起管理作用的。有的对象访问和操作对象都通过句柄,句柄就是那个对象的柄

B. 什么是句柄有什么用

所谓句柄实际上是一个数据,是一个Long (整长型)的数据。

句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。

从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

句柄地址(稳定)→记载着对象在内存中的地址————→对象在内存中的地址(不稳定)→实际对象

本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。

但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。

C. 什么是句柄

句柄,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,控件或者文件等,应用程序能够通过句柄访问相应的对象的信息。

D. 什么是句柄

句柄就是个数字,一般和当前系统下的整数的位数一样,比如32bit系统下就是4个字节。

这个数字是一个对象的唯一标示,和对象一一对应。

这个对象可以是一个块内存,一个资源,或者一个服务的context(如 socket,thread)等等。

这个数字的来源可以有很多中,只要能保证和它代表的对象保持唯一对应就可以,比如可以用内存地址,也可以用句柄表的序号,或者干脆用一个自增ID,再或者用以上的值去异或一个常数。

(4)语文中的句柄是什么扩展阅读:

windows 之所以要设立句柄,根本上源于内存管理机制的问题—虚拟地址,简而言之数据的地址需要变动,变动以后就需要有人来记录管理变动,(就好像户籍管理一样),因此系统用句柄来记载数据地址的变更。

传统上操作系统内核和系统服务API都是 C 语言接口的,但是其内部设计理念上又是OO的,所以有对象概念却没有对应的语言语法支持。

句柄的作用就是在 C 语言环境下代替 C++ 的对象指针来用的,创建句柄就是构造,销毁句柄就是析构,用句柄调用函数相当于传入this指针。

如果有系统API是 C++ 接口的,那么就没有句柄了,而是某个接口指针,IXXXPtr之类的,比如Windows的com ptr。

E. 句柄是什么

句柄就是一个序号。。用于管理内核对象的,比如你打开一个文件,就建立一个文件内核对象,这个内核对象就是一块内存结构,里面有文件路径,文件大小,当前文件指针等等信息。系统里面会打开很多的文件,就有很多很多的内核对象,这时候就建立一个句柄表的东西。表中每一个元素,都是一个内核对象的起始地址,然后给每一个对象对应一个序号。 这个序号就是我们说的句柄。

//句柄表类似于这样的结构,那个序号就是句柄了
-----------------------------------
0 第一个内核对象的地址
1 第二个内核对象的地址
2 第三个内核对象的地址
-------------------------------------

一定要注意它是序号,不是内核对象。

F. 句柄什么意思

句柄有两种意思,其中第一种是指程序设计,第二种是指Windows编程。

句柄实际上是一个数据,是一个Long (整长型)的数据。

句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。

WINDOWS句柄有点象C语言中的文件句柄。

从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。

从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。

(6)语文中的句柄是什么扩展阅读:

句柄的具体作用:

Windows是一个以虚拟内存为基础的操作系统。在这种系统下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。

地址总是如此变化 ,为了寻找到对象,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。

Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。

这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

G. 句柄是什么意思

句柄(handle),有两种解释

1,句柄是一种特殊的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

2,整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。



(7)语文中的句柄是什么扩展阅读

注意事项:

1,内核对象句柄,是用来标识某个内核对象的一个ID同一个对象的该id对于每个进程是不同的,具体如何实现是ms不公开的算法,以下是一个近似的,可能的算法。

2,进程创建时,windows系统为进程构造了一个句柄表。

3,当该进程希望获得一个内核对象句柄或者创建一个内核对象从而获得该对象句柄时。

4,系统会将在句柄表中增加一个表项,表项的内容中存储了指向目标内核对象的指针。

同时,系统返回这个表项在句柄表中的索引作为句柄。

H. 什么是句柄句柄有什么作用

所谓句柄实际上是一个数据,是一个Long
(整长型)的数据。
句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。
从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。
如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?
为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。
句柄地址(稳定)→记载着对象在内存中的地址————→对象在内存中的地址(不稳定)→实际对象
本质:WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS
API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。
但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。

I. 能否通俗点讲讲什么是句柄作用如何

通俗的讲就是一个目标,句柄就是这个目标的名字,当然这个名字只是临时的,下次打开就换了一个名字,也就是数字句柄。 比如我要用拳头往前打,这就相当于前台。如果我要打一个人呢?那就先要找到这个人,找到的这个人就是句柄,对这个句柄操作。找到了,然后用拳头打。。。

J. 句柄是什么意思,详细解释下

句柄是编写工具
游戏外挂所用到得窗口ID
游戏窗口进程,比如按键精灵所用到的就是获取游戏窗口(句柄)进程ID
E语言编写软件很多地方都会用到句柄
自己慢慢学

阅读全文

与语文中的句柄是什么相关的资料

热点内容
word中化学式的数字怎么打出来 浏览:660
乙酸乙酯化学式怎么算 浏览:1330
沈阳初中的数学是什么版本的 浏览:1267
华为手机家人共享如何查看地理位置 浏览:954
一氧化碳还原氧化铝化学方程式怎么配平 浏览:805
数学c什么意思是什么意思是什么 浏览:1321
中考初中地理如何补 浏览:1217
360浏览器历史在哪里下载迅雷下载 浏览:628
数学奥数卡怎么办 浏览:1297
如何回答地理是什么 浏览:949
win7如何删除电脑文件浏览历史 浏览:981
大学物理实验干什么用的到 浏览:1402
二年级上册数学框框怎么填 浏览:1611
西安瑞禧生物科技有限公司怎么样 浏览:753
武大的分析化学怎么样 浏览:1169
ige电化学发光偏高怎么办 浏览:1259
学而思初中英语和语文怎么样 浏览:1553
下列哪个水飞蓟素化学结构 浏览:1348
化学理学哪些专业好 浏览:1414
数学中的棱的意思是什么 浏览:970