社区
Windows SDK/API
帖子详情
很简单API基本问题
NetBird
2002-07-10 03:28:13
什么是句柄 hwnd
什么是设备描述表句柄 hdc
这两个概念一直没有区分清楚,请高手指点。
如果还有类似的XXX句柄,请高手解释。
谢谢。
...全文
61
10
打赏
收藏
很简单API基本问题
什么是句柄 hwnd 什么是设备描述表句柄 hdc 这两个概念一直没有区分清楚,请高手指点。 如果还有类似的XXX句柄,请高手解释。 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NetBird
2002-07-10
打赏
举报
回复
可不可以理解为dext(德克斯特)所说的?
chll
2002-07-10
打赏
举报
回复
再补充一点,应该说hwnd是比hdc更广的概念。
chll
2002-07-10
打赏
举报
回复
首先,你应该弄清楚剧柄的概念。
句柄是windows用来标识被应用程序建立或使用对象的唯一整数。windows要使用各
种各样的句柄来标识诸如应用程序实例、窗口、菜单、控制、分配的内存空间等对
象。应用程序几乎总是通过调用一个windows函数来获得一个句柄,其他的windows
函数可以使用该句柄,以引用相应的对象。句柄的实际值对应用程序并不重要,但
向应用程序提供句柄的windows模块知道如何使用该句柄区引用相应的对象。
设备描述表是一种数据结构,用来存储与设备有关的信息。设备描述表句柄是某一
windows函数调用这一结构,换回的用来标识这一结构的整数。
dext
2002-07-10
打赏
举报
回复
窗口句柄,指向窗口,你要他可以修改或得到窗口的属性,可以用SetWindowLong(...)
设备句柄,就是画布的Handle,你用它可以在窗口上画画。
窗口窗口句柄可以获得它的设备句柄,用GetWindowDC,反之也可
dext
2002-07-10
打赏
举报
回复
窗口句柄,指向窗口,你要他可以修改或得到窗口的属性,可以用SetWindowLong(...)
设备句柄,就是画布的Handle,你用它可以在窗口上画画。
窗口窗口句柄可以获得它的设备句柄,用GetWindowDC,反之也可
NetBird
2002-07-10
打赏
举报
回复
什么是句柄 hwnd
什么是设备描述表句柄 hdc
win32 API常用到这两个慨念。
我主要是对这两个慨念不清楚。
dext
2002-07-10
打赏
举报
回复
句柄,就是一个指针,指向他所指的对象(菜单,窗口,线程)
再Delphi里可以理解为整数
NetBird
2002-07-10
打赏
举报
回复
能否解释 hwnd 和 hdc;
kkkdddjjj
2002-07-10
打赏
举报
回复
个人认为,句柄就是一个临时的ID。
xxzxwl
2002-07-10
打赏
举报
回复
句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?
为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。
句柄地址(稳定)→记载着对象在内存中的地址────→对象在内存中的地址(不稳定)→实际对象
但是,必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。
在VB中获得一个对象的句柄十分简单,如要获取Form1窗体的句柄,就可以这
引自资料
Java
API
文档 中文网页版
Java
API
文档中文版,欢迎下载!!
新编Windows_
API
_参考大全(真正完整版)
对
API
函数的参考详解,非常全面,对于学习
API
的常备工具书之一
NodeJs教程含NodeJS
API
介绍(中文版)
本资源包含两个PDF文件,其中一个为NodeJS部署教程,包括如何部署至windows及linux环境中,其二为nodeJS
API
的介绍及使用例子,均适合NodeJS入门级别的开发者使用
redis2.8+jedis2.5+jedis英文
api
redis2.8windows64位版本+jedis2.5jar+jedis英文
api
百度鹰眼
API
轨迹追踪的实现
百度鹰眼
api
接入的
简单
实现,完成路径追踪,实时定位,轨迹画线的功能
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章