那位大虾来讲一讲句柄阿!!我不懂啊!!不好意思!!新来得菜鸟!! 那位大虾来讲一讲句柄阿!!我不懂啊!!不好意思!!新来得菜鸟!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单的说,句柄是一个32位整形值,用来唯一标识一个windows对象,是对象的间接引用。可以通过它对对象进行访问。更准确的说,句柄是和对象一一对应的值。对象可以映射到唯一的句柄,句柄也能够映射到唯一的对象。我们常用对象的指针也可以对对象进行访问,但是之所以要出现句柄,是有一定道理的。很多windows API函数都是返回的对象句柄,而不是指针,特别是有关内核对象的API,因为虽然句柄和指针虽然都可以对对象进行访问,但是句柄更安全,不会发生类似指针未初始化,越界等。另外,对于内核对象,创建一般只返回它的句柄,而不是指针,而且系统一般都会维护其句柄表,但是它的结构是不对外公开。为了保证句柄能够完成信息隐藏的任务,对象和句柄之间的映射没有文档记载,不保证固定不变,而且仅有微软知道这种映射,或者还有少数系统级工具的开发商知道。一般句柄能够通过attach和一个对象绑定,detatch取消绑定。另外关于对象句柄和对象指针间的关系,可以用CObject * myobj; HANDLE myhandle;myobj=FromHandle(myhandle);myhandle=myobj.GetSafeHwnd();进行互相转换呵呵,以上是我的理解 恩,楼上说的不错,很透彻。/////////补充以下,FromeHandle得到的是临时对象,系统不保证它在以后(所在函数结束后)有效。实际上在程序空闲时间,这些临时对象将被撤销。因此要尽量避免临时对象指针不要传到其他函数中。可以用attack从一个句柄得到对象。CWnd wnd;wnd.Attach(hwnd);但是使用对象之后要记得wnd.Detatch()。 求解,Windows程序设计中键盘和多语言的一个问题 请教高手,关于实时数据存储 关于variant变量转换为byte类型 VC 简体中文转换成繁体 点击botton控件后,如何让其弹出一个窗口 关于查找子字符串该使用那个函数!在线等!谢谢大家 如何取得别人的程序里的工具栏句柄? 关于Winsock的一个问题? 求八叉树算法源码!!! 各位都来说一说:vc各阶段都看什么书?初级中级高级,来者有分。 截获WM_CLOSE 如何制作数据库软件的安装程序
另外,对于内核对象,创建一般只返回它的句柄,而不是指针,而且系统一般都会维护其句柄表,但是它的结构是不对外公开。为了保证句柄能够完成信息隐藏的任务,对象和句柄之间的映射没有文档记载,不保证固定不变,而且仅有微软知道这种映射,或者还有少数系统级工具的开发商知道。一般句柄能够通过attach和一个对象绑定,detatch取消绑定。另外关于对象句柄和对象指针间的关系,可以用
CObject * myobj;
HANDLE myhandle;
myobj=FromHandle(myhandle);
myhandle=myobj.GetSafeHwnd();
进行互相转换呵呵,以上是我的理解
补充以下,
FromeHandle得到的是临时对象,系统不保证它在以后(所在函数结束后)有效。实际上在程序空闲时间,这些临时对象将被撤销。因此要尽量避免临时对象指针不要传到其他函数中。可以用attack从一个句柄得到对象。
CWnd wnd;
wnd.Attach(hwnd);
但是使用对象之后要记得wnd.Detatch()。