Windows注册表中充满了被调用的对象 值 包含Windows和应用程序引用的特定指令。
存在多种注册表值,所有这些都在下面解释。它们包括字符串值,二进制值,DWORD(32位)值,QWORD(64位)值,多字符串值和可扩展字符串值。
注册表值位于何处?
在Windows 10,Windows 8,Windows 7,Windows Vista和Windows XP中的整个注册表中都可以找到注册表值。
在注册表编辑器中,不仅有注册表值,还有注册表项和注册表配置单元。这些对象中的每一个都像文件夹,可以在注册表编辑器的左侧看到。因此,注册表值有点像存储的文件 内 这些键及其“子键”。
选择子项将在注册表编辑器的右侧显示其所有注册表值。这是Windows注册表中唯一可以看到注册表值的地方 - 它们从未在左侧列出。
以下是一些注册表位置的示例,注册表值以粗体显示:
- HKEY_LOCAL_MACHINE HARDWARE DESCRIPTION SYSTEM BIOS BIOSVendor
- HKEY_CURRENT_USER 环境TEMP
- HKEY_LOCAL_MACHINE 系统 CurrentControlSet 控制当前用户
在每个示例中,注册表值是最右侧的条目。同样,在注册表编辑器中,这些条目显示为文件 对 侧。每个值都保存在一个键中,每个键都来自一个注册表配置单元(上面的最左侧文件夹)。
整个Windows注册表都保持这种确切的结构,无一例外。
注册表值的类型
Windows注册表中有几种不同类型的注册表值,每种注册表值都考虑了不同的目的。某些注册表值使用易于阅读和理解的常规字母和数字,而其他注册表值使用二进制或十六进制来表示其值。
字符串值
字符串值由一个带有字母“ab”的小红色图标表示。这些是注册表中最常用的值,也是最易读的。它们可以包含字母,数字和符号。
这是一个字符串值的示例:
HKEY_CURRENT_USER 控制面板 Keyboard KeyboardSpeed
当你打开 KeyboardSpeed 注册表中此位置的值,您将获得一个整数,如 31 .
在此特定示例中,字符串值定义字符在按住其键时将重复的速率。如果要将值更改为 0 ,速度会比保持在31的速度慢得多。
Windows注册表中的每个字符串值都用于不同的目的,具体取决于它在注册表中的位置,并且每个字符串值在以不同的值定义时执行特定的功能。
例如,另一个字符串值位于 键盘 子键是一个叫做的 InitialKeyboardIndicators。此字符串值只接受0或2,而不是选择0到31之间的数字,其中0表示计算机首次启动时NUMLOCK键将关闭,而值2则表示NUMLOCK键打开默认情况下。
这些不是注册表中唯一的字符串值类型。其他人可能指向文件或文件夹的路径,或用作系统工具的描述。
注册表编辑器中将字符串值列为“REG_SZ”类型的注册表值。
多字符串值
多字符串值类似于字符串值,唯一的区别是它们可以包含a 名单 值而不是一行。
Windows中的磁盘碎片整理程序工具使用以下多字符串值来定义服务应具有以下权限的某些参数:
HKEY_LOCAL_MACHINE 系统 CurrentControlSet 服务 defragsvc RequiredPrivileges
打开此注册表值表明它包含以下所有字符串值:
SeChangeNotifyPrivilege SeImpersonatePrivilege SeIncreaseWorkingSetPrivilege SeTcbPrivilege SeSystemProfilePrivilege SeAuditPrivilege SeCreateGlobalPrivilege SeBackupPrivilege SeManageVolumePrivilege
并非注册表中的所有多字符串值都有多个条目。有些功能与单个字符串值完全相同,但如果需要,可以为更多条目提供额外空间。
注册表编辑器将多字符串值列为“REG_MULTI_SZ”类型的注册表值。
可扩展字符串值
可扩展字符串值与上面的字符串值类似,只是它们包含变量。当Windows或其他程序调用这些类型的注册表值时,它们的值是 扩大 了解变量定义的内容。
大多数可扩展字符串值在注册表编辑器中很容易识别,因为它们的值包含%符号。
环境变量是可扩展字符串值的好例子:
HKEY_CURRENT_USER 环境 TMP
该 TMP 可扩展字符串值是 %USERPROFILE%应用程序数据本地的 Temp 。这种注册表值的好处是数据不需要包含用户的用户名,因为它使用了 %用户资料% 变量。
当Windows或其他应用程序调用此时 TMP 值,它被转换为该变量设置的任何内容。默认情况下,Windows使用此变量来显示类似的路径 C: Users 用户添应用程序数据本地的 Temp .
“REG_EXPAND_SZ”是注册表编辑器列出可扩展字符串值的注册表值类型。
二元价值
顾名思义,这些类型的注册表值是用二进制编写的。注册表编辑器中的图标为蓝色,带有1和0。
HKEY_CURRENT_USER Control Panel Desktop WindowMetrics CaptionFont
上面的路径可以在Windows注册表中找到 CAPTIONFONT 是二进制值。在此示例中,打开此注册表值会显示Windows中字幕的字体名称,但它的数据是以二进制形式编写的,而不是以常规的,人类可读的形式编写的。
注册表编辑器将“REG_BINARY”列为二进制值的注册表值类型。
DWORD(32位)值和QWORD(64位)值
DWORD(32位)值和QWORD(64位)值在Windows注册表中都有一个蓝色图标。它们的值可以用十进制或十六进制格式表示。
一个应用程序可能创建一个DWORD(32位)值而另一个应用程序创建一个QWORD(64位)值的原因不在于它是从32位还是64位版本的Windows运行,而是仅仅根据位长度运行的价值。这意味着您可以在32位和64位操作系统上同时拥有这两种类型的注册表值。
在这种情况下,“字”表示16位。那么,DWORD意味着“双字”或32位(16×2)。遵循此逻辑,QWORD表示“四字”或64位(16 X 4)。
应用程序将创建所需的适当注册表值,以符合这些位长规则。
以下是Windows注册表中DWORD(32位)值的一个示例:
HKEY_CURRENT_USER 控制面板个性化桌面幻灯片间隔
打开此DWORD(32位)值可能会显示1800000的值数据(以十六进制表示的1b7740)。此注册表值定义屏幕保护程序在照片幻灯片中每张幻灯片移动的速度(以毫秒为单位)。
注册表编辑器分别将DWORD(32位)值和QWORD(64位)值显示为“REG_DWORD”和“REG_QWORD”类型的注册表值。
备份和恢复注册表值
如果你改变一个值也没关系, 总是 在开始之前进行备份,以确保在发生意外情况时可以将其还原到注册表编辑器。
不幸的是,您无法备份单个注册表值。相反,您必须备份该值所在的注册表项。如果需要帮助,请参阅如何备份Windows注册表。
注册表备份将另存为REG文件,如果需要撤消所做的更改,则可以将其还原到Windows注册表。如果需要帮助,请参见如何还原Windows注册表。
我何时需要打开/编辑注册表值?
创建新的注册表值或删除/编辑现有注册表值可以解决您在Windows或其他程序中遇到的问题。您还可以更改注册表值以调整程序设置或禁用应用程序的功能。
有时,您可能需要打开注册表值仅供参考。
以下是一些涉及编辑或打开注册表值的示例:
- 如何假死蓝屏
- 如何检查计算机上的当前BIOS版本
- 如何防止程序在Windows中窃取焦点
- 如何使Windows 7自动登录
有关更改注册表值的一般概述,请参阅如何添加,更改和删除注册表项和值。
有关注册表值的更多信息
打开注册表值可以编辑其数据。与您计算机上实际执行某些操作的文件不同,只需打开注册表值即可对其进行编辑。换句话说,它是完全安全的 打开 Windows注册表中的任何注册表值。然而, 编辑 没有先知道你在做什么的价值观并不是一个好主意。
在某些情况下,更改注册表值在重新启动计算机之后才会生效。其他人根本不需要重新启动,因此他们的更改将立即反映出来。由于注册表编辑器不会告诉您哪些需要重新启动,因此如果注册表编辑似乎不起作用,则应重新启动计算机。
您可能会在Windows注册表中看到一些注册表值列为 REG_NONE 。这些是将空数据写入注册表时创建的二进制值。打开此类型的注册表值会将其值数据显示为十六进制格式的零,并且注册表编辑器将这些值列为a (零长度二进制值) .
使用命令提示符,您可以删除和添加注册表项 reg删除 和 reg add 命令开关。
注册表项中所有注册表值的最大大小限制为64 KB。