句柄是什么东西?
问题点数:10、回复次数:12Top
1 楼gloom(苍狗白云)回复于 2001-11-23 23:23:00 得分 6
是操作系统分配给窗体的一个长整形的特征(唯一标志符)Top
2 楼gloom(苍狗白云)回复于 2001-11-23 23:24:12 得分 0
窗体不仅仅是FORM,也包含BUTTON,MEMO,EDIT等。Top
3 楼VSaber(☆浪人☆)回复于 2001-11-24 00:59:34 得分 4
说来复杂,你把它想成windows系统的指针吧!!!Top
4 楼wangsheng1028(java菜)回复于 2002-02-06 11:40:22 得分 0
还是不是很明白,哪个可以形象的说一下呢?
谢谢Top
5 楼sptbo(竹蜻蜓)回复于 2002-02-06 22:34:18 得分 0
就是名字Top
6 楼totodo(土豆仙)回复于 2002-02-14 22:34:00 得分 0
兄弟跟我一样也是初学啊?
其实句炳识别对象(按钮,窗体等)的一种方法,句柄就是名字。
就比如一个应用程序。他被执行之后,系统就把它读取到内存总。。那这个程序在内存中(比如2000 下看到任务管理器里的名字)的地址,可能就是句柄了。
Top
7 楼logical(阿来)回复于 2002-02-20 12:59:19 得分 0
句柄就是一种标识,一个系统中这是唯一的.就象学校里的学号一样,每个学生一个编号,在一个班里学号是唯一的.但不同的班不同的学校,学号当然可以相同.
句柄并不是窗口才有(但窗口是一定有),文件、位图……等等都可以有句柄这一概念(但意义不大相同)。象学校里的学生有编号(学号),社会上的活着的人也有编号(身份证编号),监狱里的人们也有编号(**号)……但这编号的意义可能就不大相同。
句柄(编号)的意义是管理方便,从理论上来说,使用名称也是可以的,但实现起来麻烦就多了。如我想打电话给你,我总不能拔“中国**省**市**街**号**人”吧?
句柄(编号)就是一个标识(一般是一个整数),意义是方便系统定位于该对象。Top
8 楼huxiaoli(跟大海搏斗)回复于 2002-02-23 14:59:53 得分 0
请看Winnt.h
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
typedef HANDLE *PHANDLE;
现在知道了吧,HANDLE就是PVOID,也就是无类型指针Top
9 楼huxiaoli(跟大海搏斗)回复于 2002-02-23 15:04:13 得分 0
看Winnt.h:
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
typedef HANDLE *PHANDLE;
HANDLE就是PVOID,也就是无类型指针Top
10 楼huxiaoli(跟大海搏斗)回复于 2002-02-23 15:35:41 得分 0
看Winnt.h:
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
typedef HANDLE *PHANDLE;
HANDLE就是PVOID,也就是无类型指针Top
11 楼redwh(第一滴泪)回复于 2002-02-23 18:43:30 得分 0
就是当前对象的唯一的身份识别标志符.
Top
12 楼iec(bcbtovs)回复于 2002-02-24 13:40:29 得分 0
只有获得其句柄,才能访问它的内核资源Top




