打开注册表了解文件扩展名和COM组件

前面为注册表基础知识点,有基础的可以直接跳过,进入实操部分,看不懂直接打开注册表跟着做一遍

介绍

注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个 功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性

作用

  • 存储系统和应用程序的配置信息:Windows和应用程序可以将自己的配置信息保存到注册表中,以便在下次启动时快速读取和应用这些设置。

  • 管理系统和应用程序的行为:通过修改注册表中的键值对,可以改变系统和应用程序的行为,例如修改桌面背景、禁用某些功能、设置默认打开方式等。

  • 维护系统的安全性:Windows可以使用注册表来存储用户的安全设置,例如密码策略、用户权限等。

  • 支持应用程序的扩展:应用程序可以使用注册表来存储自己的设置和配置信息,以便进行扩展和定制。

结构

HKEY_CLASSES_ROOT:

HKEY_CURRENT_USER子树,包含用于各种OLE技术和文件类关联数据的信息

HKEY_CURRENT_USER:

HKEY_USERS子树,它指向“HKEY_USERS\当前用户的安全ID”包含当前以交互方式登录的用户的用户配置文件

HKEY_LOCAL_MACHINE:

记录关于本地计算机系统的信息,包括硬件和操作系统数据

HKEY_USERS:

记录关于动态加载的用户配置文件和默认配置文件的信息

HKEY_CURRENT_CONFIG:

HKEY_LOCAL_MACHINE子树,指向HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current包含在启动时由本地计算机系统使用的硬件配置文件的相关信息加载的设备驱动程序、显示时要使用的分辨率

API修改注册表

RegOpenKeyEx    打开指定的注册表键
RegCreateKeyEx    创建一个新的注册表键
RegQueryValueEx    查询指定键的值
RegSetValueEx    设置指定键的值
RegDeleteValue    删除指定键的值
RegDeleteKey    删除指定的注册表键
RegEnumKeyEx    枚举指定键的子键

文件扩展名和COM组件实操了解

注册表打开计算机\HKEY_CLASSES_ROOT.txt,可以看到默认值是txtfile:

接着打开计算机\HKEY_CLASSES_ROOT\txtfile,看一下其中的文件结构:

其中的DefaultIcon存的图标的位置:

这里显示的是一个dll文件,也可能是exe文件或是ico文件。(没错,可执行文件也可以提供一个图标)

shell当中存的是各个命令对应的命令行操作,比如open下的command,内容为:

你打开一个.txt文件,系统运行的就是这个命令。

除此以外,我还在一些文件扩展名子健下的目录当中发现了CLSID,这是我在.doc对应的注册表目录查到的结构:

可以看到,包含CLSID,其值为:

我们在计算机\HKEY_CLASSES_ROOT\CLSID目录下面找到这个CLSID,发现其值如图所示(wps的构建使用了Microsoft提供的COM组件):

其对应的文件结构为:

这些包含了该COM组件的不同信息,在其中的LocalServer32中,我们看到如下EXE路径。

当COM组件是作为DLL实现时,路径通常会放在InprocServer32下面。

COM组件不了解的,点这里

其中InprocHandler32下面也是一个dll文件:

其负责处理COM组件实例化。

还有很多其他的表项,大家可以自行了解,这里不再赘叙。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值