注册表是Windows用于存储软硬件配置信息的数据库,存储在C:\Windows\System32\config
文件夹内。
注册表的结构类似于文件系统,其中,“文件夹”称为Key(项),“子文件夹”称为SubKey(子项),“文件”称为Value(值)。值由名称、类型和数据三个部分组成。
HKEY_LOCAL_MACHINE
用于存放系统和软件的配置信息,简称 HKLM。HKLM 保存着计算机的系统信息,包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,是针对使用这个系统的所有用户的。
HKEY_CURRENT_CONFIG
存储硬件配置信息。HKEY_LOCAL_MACHINE 中同样的数据和任何注册表的变化都会同时的变化。HKEY_CURRENT_CONFIG 包括了系统中现有的所有配置文件的细节。
HKEY_CLASSES_ROOT
存储文件关联和COM对象注册信息,是应用程序运行时必需的信息,其实就是将HKEY_LOCAL_MACHINE\SOFTWARE\Classes
放到了根目录的位置。
HKEY_USERS
包含了所有用户的信息。虽然它包含了所有独立用户的设置,但在用户未登录时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。
HKEY_CURRENT_USER
管理系统当前的用户信息。在这个根键中保存了本地计算机中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码。在用户登录 Windows 时,其信息从 HKEY_USERS 中相应的项拷贝到 HKEY_CURRENT_USER 中。
HKEY_CURRENT_USER 与 HKEY_LOCAL_MACHINE 中有许多相似的项,但是前者是针对用户的,后者是针对系统的。
系统基本配置
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
系统配置信息原本。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
系统当前的配置信息,是 Windows 启动时复制的HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
的镜像。
HKLM\SYSTEM\CurrentControlSet\Services
系统中服务的配置信息。
HKLM\SYSTEM\CurrentControlSet\Control
包含用于控制系统启动和设备配置的某些方面的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
包含有关系统上的设备接口的信息。每个设备接口类都有一个子项。
系统基本信息
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
系统用户信息
HKEY_LOCAL_MACHINE\SAM\SAM
应注意的是,该项有权限要求,需要先解除限制才可访问。
系统设置相关
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
包含开机启动、显示设置等内容。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
开机启动位置,常成为木马病毒攻击的对象。
HKEY_CURRENT_USER\Control Panel
面板控制设置,包括键盘、鼠标、窗口颜色等。
系统级别的软件配置
HKEY_LOCAL_MACHINE\SOFTWARE
用户级别的软件配置
HKEY_USERS\{用户SID}\SOFTWARE
HKEY_CURRENT_USER\SOFTWARE
菜单项创建
多级菜单的规律:shell项下一级是菜单名称,菜单名称项下一级是shell,如此层叠嵌套。
最后一级是具体的程序或命令,项是command,默认值的数据是程序的路径和参数。
一个菜单下的子菜单项的数量不能超过16个。
菜单属性设置
全部值都是REG_SZ字符串类型。
SubCommands:声明:还有子项目(删除该值则不显示子菜单),数据可为空。
icon:图标地址(可以是ico图标路径,也可以是exe程序路径)
MUIVerb:为菜单项命名(该值不设置,则以项的名称命名)、添加热键(格式:菜单名称(&X)
,X为对应的键盘按键)。
Extended:声明:需要按下 shift + 右键 才显示该菜单项。仅作用于一级菜单,数据可为空。
菜单作用位置
项路径 | 菜单作用位置 |
---|---|
HKEY_CLASSES_ROOT\DesktopBackground\shell |
仅在桌面显示 |
HKEY_CLASSES_ROOT\Directory\shell |
explorer的左侧导航栏目录、右侧文件夹 |
HKEY_CLASSES_ROOT\Directory\Background\shell |
桌面、explorer的右侧空白处、explorer的左侧导航栏目录,但右侧目录和文件中不显示 |
HKEY_CLASSES_ROOT\*\shell |
任意文件右键菜单 |
HKEY_CLASSES_ROOT\SystemFileAssociations\.xxx\shell |
.xxx类型文件右键菜单,可以自行创建 |
HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell |
文本文件的右键菜单,下一级包括edit和open,分别对应编辑和打开的情况。以此类推有视频、图像的右键菜单等。 |
HKEY_CLASSES_ROOT
下找到对应文件类型的后缀名的项,如HKEY_CLASSES_ROOT\.zip
。zipfile
。这个值可以看做是这个文件类型的别名。HKEY_CLASSES_ROOT\zipfile
。HKEY_CLASSES_ROOT\zipfile\DefaultIcon
,修改默认值为对应ico文件的路径。养眼的淡绿色是202 234 206 (10进制)或 caeace (16进制)
HKEY_CURRENT_USER\Control Panel\Colors\
该项包含了各种颜色设置,包括字体、窗口、菜单等的颜色,窗口背景色的值是 Window。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\DefaultColors\Standard
该项包含了当前主题下的各种颜色设置,窗口背景色的值是 Window。
评论区