社区
Windows SDK/API
帖子详情
很简单API基本问题
NetBird
2002-07-10 03:28:13
什么是句柄 hwnd
什么是设备描述表句柄 hdc
这两个概念一直没有区分清楚,请高手指点。
如果还有类似的XXX句柄,请高手解释。
谢谢。
...全文
54
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
文档 中文网页版
1. `java.lang`:这是所有Java程序的基础包,包含了
基本
类型包装类、Object类、String类、Math类等核心类。 2. `java.util`:包含各种实用工具类,如集合框架(List、Set、Map)、日期时间类、队列、堆栈、枚举等。...
android-serialport-
api
在了解Android-SerialPort-
API
之前,我们需要理解串口通信的
基本
概念。串口,也称为串行端口,是一种通过串行数据传输协议与外部设备进行通信的方式。常见的串口有RS-232、USB转串口等。串口通信涉及的主要参数有...
新编Windows_
API
_参考大全(真正完整版)
本书中的PDF文档很可能是按章节组织的,每章深入一个主题,从
基本
概念到高级用法,逐步引导读者探索Windows
API
的广阔世界。对于初学者,可以从基础的系统服务和UI部分入手;而对于有经验的开发者,深入研究网络编程...
NodeJs教程含NodeJS
API
介绍(中文版)
安装完成后,需要验证Node.js和npm(Node.js包管理器)是否成功安装,并了解它们的
基本
命令用法。 接下来,教程会详细讲解Node.js的核心
API
,这是Node.js强大功能的基础。其中,Event Loop(事件循环)是Node.js...
redis2.8+jedis2.5+jedis英文
api
Jedis是Java开发的Redis客户端,它提供了与Redis服务器交互的
API
,使得在Java应用中使用Redis变得
简单
。Jedis 2.5是该压缩包中包含的版本,它支持了当时Redis的大多数命令,包括
基本
操作和事务处理。 首先,了解...
Windows SDK/API
1,184
社区成员
22,326
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章