什么是句柄?(50分)

  • 主题发起人 主题发起人 joyprince
  • 开始时间 开始时间
J

joyprince

Unregistered / Unconfirmed
GUEST, unregistred user!
什么是句柄?
 
句柄就是刀把!!<br>你抓住他就可以抓住整拔刀!!<br>明白??<br>句柄是类似指针的东西,它是一种引用,你用他就可以找到你所要找的东西比如窗口!
 
什么是句柄?呵呵,那么老的贴子我都贴出来了,如果还。。。就没办法了。<br><br>摘自 济南万千的VB讨论组<br>panda wrote in message<br>news:38248fd4.9969239@202.102.152.89...<br>什么是句柄?<br><br><br>句柄就是用来区分各种内存对象的唯一标识符号,是个32位整数。<br>有些是整个系统唯一(如窗口句柄),有些是当前进程或线程中唯一<br>(如线程句柄,全局的有另一个标识符)。<br><br>详细的可分为许多种,都是以H开头的。在VB中使用时全部都用Long。<br>常见的有窗口句柄(HWND),设备描述表句柄(HDC),内存句柄(HMEM),<br>文件句柄,进程句柄,线程句柄,笔的类型句柄(HPEN),字体句柄(HFONT),<br>区域句柄(HRGN)等等。<br><br>在申请句柄时是要占用资源的,分三类SYSTEM、USER、GDI。<br>而WINDOWS的资源是固定的,并不随内存的扩大而扩大,所以使用完以后一定要释<br>放。<br>&gt;<br>如果只用VB本身的代码一般是不会用到句柄的,但要是使用API函数的话,<br>大多数会使用。<br><br><br><br>(补充)<br><br>发件人: 獾猪哥哥 <br>主题: Re: 什么是句柄?<br>日期: 星期日 1999年11月7日 19:17<br><br>补充几点:<br><br>再Windows系统中,句柄(我一直觉得这个词翻译得特别别扭)分为三大类:Kernel<br>Handle、User Handle和应用程序自定义的Handle。<br><br>Kernel Handle实际上是进程内Kernel对象的指针表索引,Kernel对象包括进程、文<br>件、信号等。但是MS为了掩盖着一事实,在系统启动时生成了一个所谓Obsfucator的值<br>(其实应该是Obfuscator,Microsoft Bugs(R) :),生成Handle后将Handle与这个值异<br>或后返回给应用程序,所以看到的Handle都是一些很大而且毫无意义的数字。这些<br>Handle和索引的对象是由KRNL32.DLL和VMM32.VXD共同管理的,所以称之为Kernel<br>Handle。<br><br>User Handle是用来标示窗口、DC等对象的,他们是真实的指针,但指向的并不是对象<br>的开头,有一个偏移量。同样,这些对象是由USER32.DLL管理的。<br><br>第三种Handle不过是应用程序自定义的一些索引之类的东东,具体的意义和应用程序相<br>关
 
句柄的英文就是handle,它是用来标志一个对象的整型值,这个值是由系统分配的。<br>这个对象可以是窗体也可以是按钮等其他打个比方,你们家有三兄弟,大哥叫老大,二哥较老二,三第叫老三<br>,这些老大老二老三称谓就类似于句柄<br>句柄有很多种类型,可以根据它标志的不同的类,取不同的名字,如,标志windows的handle<br>写成hwnd,等等,一般你不需要了解句柄的内部机制,只知道他代表一个对象就行了。<br>windows里面并不使用对象的名字来代表对象,而是使用句柄。<br>不知道这样回答能挣多少分?<br>
 
想从“她”身上得到点什么,抓不住“把柄”就很难.......
 
呵呵, 我一直也对句柄半懂不懂的。 &nbsp;我的理解是, 句柄(Handle)就是一个<br>数字标识(门牌号?)。 &nbsp;比如系统中打开了很多窗口, 如果你想操作指定窗口中<br>的内容,就得利用窗口得句柄了。 比如你想回宿舍睡觉, 那么, 首先,你要找到<br>你的房间,那么房门号就是房间的句柄; 进屋子之后,你想躺到自己的床上, 那<br>你的床号就是床的句柄。
 
一个ID而已
 
哦,理解。
 
多人接受答案了。
 
后退
顶部