一、HINSTANCE,HWND和ID值的用法及意义和区别

HINSTANCE;应用程序实例句柄,它是一个唯一用来标识程序进程的32位的变量,
HWND:是窗口句柄,有很多种句柄,还有HBRUSH,HFONT,HMENU等等
ID:是一些控件或是选项的标识符,在程序中用到对他们的操作时可以用这个ID来访问这个控件或是其他什么

二、 HINSTANCE和HMODULE这两种类型的句柄,用法不同么?

hmodule是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址,比如exe, dll等模块
等。hinstance在win32下与hmodule是相同的东西,在win32下还存在主要是因为win16程序使用hinstance来区别task

HINSTANCE是应用程序的实例句柄 
  获取方法 HINSTANCE AfxGetInstanceHandle( ); 
  或者AfxGetApp( );
  得到一个CWINAPP类的指针

三、

Handle
       是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。
       在Windows环境中,句柄是用来标识项目的,这些项目包括:模块(module)、任务(task)、实例 (instance)、文件 (file)、内存块(block of memory)、菜单(menu)、控制(control)、字体(font)、资源(resource),包括图标(icon),光标 (cursor),字符串(string)等、GDI对象(GDI object),包括位图(bitmap),画刷 (brush),元文件(metafile),调色板(palette),画笔(pen),区域 (region),以及设备描述表 (device context)。 
        WONDOWS系统对内核对象以链表的形式进行管理,载入到内存中的每一个内核对象都有一个线性地址,同时相对系统来说,在串列中有一个索引位置,这个索引位置就是内核对象的handle。
       句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。
       句柄只有当唯一的确定了一个项目的时候,它才开始有意义。句柄对应着项目表中的一项,只是一个索引值,不是物理地址,应用程序还不能直接存取这块内存,而只有WINDOWS本身才能直接存取这个表,应用程序只能通过API函数来处理不同的句柄。

HMODULE
是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址。

HINSTANCE
 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为Win16 程序使用HINSTANCE来区别任务,等同于 HMODULE。

HINSTANCE,HWND、HMODULE 详解相关推荐

  1. Delphi中资源文件使用详解(转载)

    Delphi 中资源文件使用详解 原文出处:http://blog.51cto.com/ 一.编写 RC 脚本文本 用记事本或其它文本编辑器编写一个扩展名为 ".rc" 的文件.格 ...

  2. VC++深入详解学习笔记

    VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Lesson4: 简单绘图 Lesso ...

  3. Delphi中资源文件使用详解

    Delphi中资源文件使用详解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  4. Delphi 中资源文件使用详解

    Delphi 中资源文件使用详解 第一篇文章: <Dephi5中资源文件的创建和使用> 几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码 ...

  5. Socket模型详解

    Socket模型详解 两种I/O模式 一.选择模型 二.异步选择 三.事件选择 四.重叠I/O模型 五.完成端口模型 五种I/O模型的比较 两种I/O模式 1. 两种I/O模式 阻塞模式:执行I/O操 ...

  6. JNI详解---从不懂到理解

     Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap ...

  7. 孙鑫VC++深入详解第三章学习笔记

    第三章 3.1创建MFC AppWizard 如何利用vs2019创建MFC应用见参考文献[1] 需要注意的地方有 [1] 创建MFC单文档应用程序 [2]开启类视图窗口 3.2基于MFC的程序框架剖 ...

  8. DLL的远程注入技术详解

    DLL的远程注入技术详解 2008-12-01 20:28 DLL的远程注入技术是目前Win32病毒广泛使用的一种技术.使用这种技术的病毒体通常位于一个DLL中, 在系统启动的时候,一个EXE程序会将 ...

  9. 孙鑫VC++深入详解第一章学习笔记

    第一章 Windows程序内部运行机制 1.1 API和SDK API:Windows操作系统提供给应用程序编程的接口. SDK(软件开发包):用于开发的所有资源的集合. 1.2 窗口和句柄 窗口 句 ...

最新文章

  1. sysctl -p详解
  2. ant自动打包多个android项目为apk
  3. java rect offset_Rect 的相关操作
  4. 国内做事就要高调——财富人生:邹果庆:中国新蛋网总裁
  5. Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
  6. linux消息队列非亲缘,linux进程
  7. 娱乐化手游营销模式探索
  8. SVN Could not open the requested SVN filesystem解决办法
  9. php 5.5 xhprof for windows
  10. Unity3D与JSP TomCatserver传递数据和文件( 二 ) Unity3D向java传输表单
  11. 《南溪的目标检测学习笔记》——特征归一化(meadstd)
  12. 常见移动机器人轮直径校准
  13. java中数组操作常见的三个错误
  14. 如何在云上高效地实践“自动化”和“弹性”
  15. 设置浏览器谷歌/edge浏览器允许跨域
  16. 递归函数的简单应用-第五个学生的年龄
  17. STM32 hal库串口空闲中断最新用法
  18. ALLHIC使用 | HiC辅助基因组组装(三)
  19. 【有利可图网】小白设计师该如何创作电商广告Banner图?内附精华教程
  20. 计算机的专业的个人陈述,计算机专业留学个人陈述范文

热门文章

  1. 精妙绝伦!阿里资深架构师撰写这份:并发编程,可谓“独具匠心”
  2. Mac anaconda相关
  3. 1、OpenCV——图片的读、改、显、存操作函数
  4. Android 原生分享文件到微信
  5. springboot通过ITextPDF写入模板并下载
  6. 组播路由协议基础——PIM-SM BSR工作机制
  7. itextPDF操作PDF,获取PDF内容
  8. Gavin老师Transformer直播课感悟 - Rasa项目实战之银行金融Financial Bot智能业务对话机器人业务功能微服务解析与调试(八十九)
  9. 如何下载某个网站的ico图标
  10. 【其他】逻辑、逻辑推理概念