|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ [讨论]一个绝对值得讨论的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
479
人关注过本帖
标题:
[讨论]一个绝对值得讨论的问题
只看楼主
加入收藏
cyberkdll
等 级:
新手上路
帖 子:20
专家分:0
注 册:2006-4-25
楼主
收藏
问题点数:0 回复次数:5
[讨论]一个绝对值得讨论的问题
HWND 和HANDLE 之间的区别是什么??
2006-04-26 17:06
举报帖子
使用道具
赠送鲜花
jedimaster
等 级:
新手上路
帖 子:117
专家分:0
注 册:2006-3-31
第
2
楼
收藏
得分:0
HWND ---- handle to a window
2006-04-27 10:35
举报帖子
使用道具
赠送鲜花
aogun
等 级:
贵宾
威 望:
17
帖 子:638
专家分:0
注 册:2006-4-5
第
3
楼
收藏
得分:0
HANDLE就是一个指针,windows里面关于HANDLE的定义是typedef void *HANDLE;
而HWND在windows中的定义是typedef /* [wire_marshal] */ void __RPC_FAR *HWND;
看样子是一个指针,但是其中存放的其实不是运行的程序的进程空间的指针,而是程序的窗口在window窗口管理相关进程中的指针,不能直接访问
两者本质没啥区别,其实你不用管太多,其实都是windows中一个对象的句柄,但是HWND指向的地址不存在程序的进程中,而HANDLE指向的通常是本进程中一个对象的地址,能直接访问
以上是我个人理解,
无聊猜的,不要相信哦
,欢迎大家指正
[此贴子已经被作者于2006-4-27 15:33:18编辑过]
世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-04-27 11:19
举报帖子
使用道具
赠送鲜花
cyberkdll
等 级:
新手上路
帖 子:20
专家分:0
注 册:2006-4-25
第
4
楼
收藏
得分:0
HWND Findwindow(,)
那么这个语句是正确的吗?
CWnd* pWnd=this->FindWindow(,);
谢谢前面的清楚的解释!
----------------------------------------------- Cyberkdll
2006-04-27 14:35
举报帖子
使用道具
赠送鲜花
yongyong
等 级:
新手上路
帖 子:9
专家分:0
注 册:2006-4-26
第
5
楼
收藏
得分:0
Handle 是一个一般意义的句柄,本质上是一个32位整数,是window内部的对象标示,并不是指针,windows的头文件中它被声明为void *而不是int,不知用意何在,但是实际上32位的系统中,定义成void*和int是没有区别的。
hWnd是窗口的句柄,它也是句柄,只不过用于窗口的标示而以,这样定义只不过为了程序的可读性,你完全可以把hWnd声明成Handle,在使用的时候用强制转换通过编译的类型检查,这都是没有问题的,因为二者的内存结构是完全一样的,32位整数而以!
2006-04-27 14:55
举报帖子
使用道具
赠送鲜花
aogun
等 级:
贵宾
威 望:
17
帖 子:638
专家分:0
注 册:2006-4-5
第
6
楼
收藏
得分:0
yongyong,
lz是说我们探讨嘛,HWND和HANDLE的概念当然好查,正规的解释就不用探讨了,但是具体是什么就需要探讨啦,HWND应该不是平常意义的32位整数,你试试不停地创建窗口,然后查看窗口句柄(HWND),句柄的值还是相差蛮大的,但是却没有任何的规律和联系,如果是随即生成的话又不好检查是否重复,所以可以大胆假设HWND实际上就是根据指针生成的,这样可以保证不重复而且没有顺序,无聊,瞎猜下,呵呵,所以我上面的回帖的最后写了是个人想法嘛
世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-04-27 15:31
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
[讨论]一个绝对值得讨论的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.050334 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved