句柄 订阅
句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量 [1]  。Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄 [1]  。 展开全文
句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量 [1]  。Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要有人来记录、管理变动,因此系统用句柄来记载数据地址的变更。在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄 [1]  。
信息
定    义
标识对象或者项目的标识符 [1]
本    质
一种标识符 [2]
由    来
源于内存管理机制—虚拟地址 [1]
中文名
句柄 [1]
外文名
Handle [1]
领    域
数理科学 [1]
句柄简介
句柄(handle)是C++程序设计中经常提及的一个术语。它并不是一种具体的、固定不变的数据类型或实体,而是代表了程序设计中的一个广义的概念。句柄一般是指获取另一个对象的方法——一个广义的指针,它的具体形式可能是一个整数、一个对象或就是一个真实的指针,而它的目的就是建立起与被访问对象之间的惟一的联系 [3]  。在C++中,要访问一个对象,通常可以建立一个指向对象的指针。但是在很多具体的应用中,直接用指针代表对象并不是一个好的解决方案 [3]  。
收起全文
精华内容
下载资源
问答
  • 句柄

    千次阅读 多人点赞 2019-11-26 18:48:45
    句柄是 Windows 编程的基础,所谓句柄就是 Windows 使用的一种无重复整数。句柄主要用来标识应用程序中的一个对象,如窗口、实例、菜单、内存、输出设备、控制或文件等。 例如在模块文件定义文件中,菜单资源中的...

    句柄是 Windows 编程的基础,所谓句柄就是 Windows 使用的一种无重复整数。句柄主要用来标识应用程序中的一个对象,如窗口、实例、菜单、内存、输出设备、控制或文件等。

    例如在模块文件定义文件中,菜单资源中的菜单项被定义并且赋给了一个句柄值。应用程序的菜单栏中,第一个菜单的第一个菜单项可能被赋予 100 这个句柄值,那么第二个菜单项可能被赋予 101 这个句柄值。在应用程序的源代码中,这些菜单项将要通过 100 和 101 来区分。Windows 应用程序只能访问句柄,而不能直接访问句柄所指示的实际数据。Windows 系统控制着这些系统数据的存取权,这样才能在多任务环境中保护这些数据。Windows 常用的句柄见下表。

    Windows 常见的公用句柄类型
    句柄类型 说明 备注
    HBITMAP 保存位图信息的内存区域的句柄  
    HBRUSH 画刷句柄  
    HCTR 子窗口控件句柄

    ConTRol

    HCURSOR 鼠标光标句柄  
    HDC 设备描述表句柄 Device Context
    HDLG 对话框句柄 dialog
    HFONT 字体句柄  
    HICON 图标句柄  
    HINSTANCE 应用程序的实例句柄  
    HMENU 菜单句柄  
    HMODULE 模块句柄  
    HPALETTE 颜色调色板句柄  
    HPEN 在设备上画图时用于指明线型的笔的句柄  
    HRGN 剪切区域句柄  
    HTASK 独立于已执行任务的句柄  
    HWND 窗口句柄  

    句柄常作为 Windows 消息和 API(application programming interface,应用程序编程接口)函数的参数,在采用 API 方法编写 Windows 应用程序时要经常使用句柄。采用 MFC 方法编写 Windows 应用程序时,可以通过访问类的一个 public 的成员变量来获取某个 MFC 类对象的句柄,如 CWnd 类的成员变量 m_hWnd 就是一个窗口对象的句柄。由于对应的 MFC 类已经对句柄进行了封装,大多数情况下不在需要访问句柄。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,110
精华内容 22,044
关键字:

句柄