Widows 注册表
Widows 注册表
HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字。在CLSID关键字之下列有系统中安装的所有组件的CLSID。注册表CLSID是一个具有如下格式的串:00000010-0000-0010-8000-00AA006D2EA4
HKEY_CLASSES_ROOT的开头,列出的将是各种应用程序所注册的文件扩展名。在扩展名之后,可以看到许多其他的名字。此类名字的大多数被称作是ProgID,表示是程序员定义的标识符。某些名称表示的不是ProgID而是一些特殊的关键字.
如
- CLSID
- AppID—此关键字下的子关键字的作用是将某个APPID(应用程序ID)映射成某个远程服务器名称。分式COM(DCOM)将用到此关键字。
- 组件类别—注册表的这一分支可以将CATID(组件类别ID)映射成某个特定的组件类别。
- Interface—此关键字用于将IID映射成与某个接口相关的信息。这些信息主要用于在跨进程边界使用接口的情况。
- Licenses—保存的是授权使用COM组件的一些认可信息。
- TypeLib—类型库关键字所保存的是关于接口成员函数所用参数的信息。另外还有其他一些信息。此关键字可以将一个LIBID映射成存储类型库的文件名称。
ProgID:所谓ProgID指的是程序员给某个CLSID指定的一个程序员易记的名称。
ProgID命名约定
<Program>.<Component>.<Version>
如下图:
在许多情况下,客户并不关心它所连接的组件的版本究竟是什么。因为组件经常会有一个与版本号无关的ProgID。此ProgID被映射成所安装的最新版本的组件。与版本无关的 的命名约定是将上面约定中的版本号去掉。
ProgID注册表格式
ProgID及与版本无关的ProgID被列在组件CLSID下面。
ProgID的主要作用是获取相应的CLSID。在每一个CLSID项中查找查个ProgID将是非常低效的。因此在 的下面也将直接列出ProgID。由于ProgID不是针对最终用户而定义的,因此ProgID关键字的缺省值为用户易记的名称。在之下有一个名为CLSID的关键字,其缺省值为组件的CLSID。如下图所示:
与版本号无关的ProgID 也直接被列在HKEY_CLASSES_ROOT下面。它们还有另外一个关键字CurVer,其缺少值为组件当前版本的ProgID
ProgID和CLSID的转换
CLSIDFromProgID
ProgIDFromCLSID
组件的自注册
为把组件注册到注册表,在DLL一定要输出如下两个函数:
STDAPI DllRegisterServer(); // 注册
STDAPI DllUnregisterServer(); // 反注册
我们使用REGSVR32.exe注册某个组件或反注册某个组,其实就是调用这两个函数的。
原文地址:http://www.cnblogs.com/fangyukuan/archive/2010/06/10/1755958.html
Widows 注册表相关推荐
- COM笔记-Widows 注册表
Widows 注册表 HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字.在CLSID关键字之下列有系统中安装的所有组件的CLSID.注册表CLSID是一个具有如下格式的 ...
- Widows 注册表 HKEY_CLASSES_ROOT
Widows 注册表 HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字.在CLSID关键字之下列有系统中安装的所有组件的CLSID.注册表CLSID是一个具有如下格式的 ...
- C#中如何获取注册表信息
实现方式:利用Microsoft.win32类提供的注册表类访问系统注册表获取ODBC数据服务列表. 具体实现: Microsoft.win32提供了RegistryKey类,用来访问系统的注册表. ...
- Windows 2000/XP 注册表终极修改(转载)
Microsoft Windows 2000/XP 是一个强大的操作系统,为我们提供了以往Windows 9x从未有过的安全性能,可是你是否感觉某些地方的设置还不够呢,这里就对Windows 2000 ...
- 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现2
上一篇博文中主要介绍了Reactos中大部分函数的思路和HKEY和HANDLE之间的关系,本文将介绍一些Reactos中有意思的函数和存在bug的函数.(转载请指明出处) CreateNestedKe ...
- 一种注册表沙箱的思路、实现——注册表的一些基础知识
要做注册表沙箱,就必须要了解部分注册表知识.而注册表的知识很多,本文主要讲述如何在win32系统是上识别注册表映射的.(转载请指明出处) 在我的xp 32bit系统上,Win+R regedit之后打 ...
- 一种注册表沙箱的思路、实现
从今年4月份开始,我接触到一个沙箱项目.该项目的需求要求我们的沙箱具有良好的安全性和兼容性.当时我们研究了SandBoxIE和360的沙箱,基本确定通过"重定向"思路来实现这款沙箱 ...
- docker注册表回传失败 群晖6.2_Glances实时监视群晖运行状况
安装 在 docker 注册表中搜索 glances ,选择第一个 nicolargo/glances,版本 latest. 端口 环境 运行 发现问题 在浏览器中输入 http://群晖IP:612 ...
- VISTA中注册表项LEGACY_****的删除
在VISTA中如果你错误安装了某个驱动软件,而如果这个驱动安装软件考虑不周,无法卸载,那么你就麻烦了! 比如我的U盘以前一直使用优易U盘加密软件1.2来做一个隐蔽的U盘. 某天我在VISTA上运行了这 ...
最新文章
- ListView Viewholder的坑 线性布局的坑
- WindowManager.LayoutParams.type属性
- 变分贝叶斯深度学习综述
- 01-Windows Server 2012 R2 远程桌面服务部署指南
- Cannot resolve bean 'xxx' less... (Ctrl+F1) Inspection info:Checks autowir
- STL笔记(4)关于erase,remove
- 2017年,Java程序猿10本经典好书推荐
- 漫画:千万别在同事面前装逼
- pythonmkdir语法错误_Python mkdir一个有难度的问题
- 和nptf螺纹一样吗_常用数控加工计算公式和最全螺纹标准
- iOS底层探索之LLVM(一)——初识LLVM
- 全源最短路径 - floyd算法 - O(N ^ 3)
- linux抓包查看请求接口源ip,linux 抓包
- Jenkins HTML Publisher 插件
- Python 已知三角形三边求三角形面积
- 【NOIP2016提高组】天天爱跑步
- elementUI表格自动刷新
- 18935 贪吃的小Q
- P3386 【模板】二分图最大匹配
- 怀旧服默认服务器文件,《魔兽世界》怀旧服:这些服务器名称的小知识你得知道...
热门文章
- 手用计算机电池,MacBook 篇一:二手MacBook pro 2017上手+换电池体验
- python能做word和excel吗_Python 操作Word(Excel、PPT等通用)
- layui的轮播图片自适应大小_解决Layui 表格自适应高度的问题
- 基于法线的点云双边滤波
- Java_持久层_MyBatis
- SqlMDF数据提取工具
- 安娜Anna:世界最快的超级伸缩的KVS, 秒杀Redis
- OCR识别PDF文件
- Java加密与解密笔记(四) 高级应用
- Selenium IDE使用指南四(代码导出)