| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 384 人关注过本帖
标题:Microsoft Windows 注册表说明
取消只看楼主 加入收藏
燃烧
Rank: 1
等 级:新手上路
帖 子:3267
专家分:1
注 册:2006-2-6
结帖率:33.33%
收藏
 问题点数:0 回复次数:1 
Microsoft Windows 注册表说明

概要

本文介绍注册表。本文还讲述如何编辑注册表,并列出可从中获取更多信息的参考资料。


注册表说明

《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是:
Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。

注册表包含 Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。

注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个 Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。
注册表数据存储在二进制文件中。


关于编辑注册表的信息

要编辑注册表,Microsoft 建议您只按照 Microsoft 文档中的步骤执行。如果可能,请使用 Windows 用户界面,而不要直接编辑注册表。

可以使用注册表编辑器(Regedit.exe 或 Regedt32.exe)编辑注册表。注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。 有关 Regedit.exe 和 Regedt32.exe 的区别的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
141377 (http://support.microsoft.com/kb/141377/) Regedit.exe 和 Regedt32.exe 的区别
修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。 有关备份和还原注册表的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 (http://support.microsoft.com/kb/322756/) 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表
322755 (http://support.microsoft.com/kb/322755/) 如何在 Windows 2000 中备份、编辑和还原注册表
323170 (http://support.microsoft.com/kb/323170/) 如何在 Windows NT 4.0 中备份、编辑和还原注册表
322754 (http://support.microsoft.com/kb/322754/) 如何在 Windows 95、Windows 98 和 Windows Me 中备份、编辑和还原注册表
要修改注册表数据,程序必须使用以下 MSDN 网站中定义的注册表功能:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry_functions.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry_functions.asp)
管理员可以通过使用注册表编辑器(Regedit.exe 或 Regedt32.exe)、组策略、系统策略、注册表文件 (.reg) 或通过运行脚本(例如,VisualBasic 脚本文件)来修改注册表。

注意:Windows XP 和 Windows Server 2003 的 64 位版本的注册表分为 32 位项和 64 位项。许多 32 位注册表项与其相应的 64 位注册表项同名,反之亦然。64 位版本的 Windows XP 和 Windows Server 2003 中附带的默认 64 位版本注册表编辑器在以下节点下显示 32 位注册表项:
HKEY_LOCAL_MACHINE\Software\WOW6432
有关如何在 64 位版本的 Windows 中查看注册表的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305097 (http://support.microsoft.com/kb/305097/) 如何通过使用 64 位版本 Windows 查看系统注册表
注册表编辑器的导航区显示文件夹。每个文件夹代表本地计算机上的一个预定义项。访问远程计算机的注册表时,只显示两个预定义项:HKEY_USERS 和 HKEY_LOCAL_MACHINE。下表列出了系统使用的预定义项。项名的最大长度是 255 个字符。
文件夹/预定义项 描述
HKEY_CURRENT_USER 包含当前登录的用户的配置信息的根目录。该用户的文件夹、屏幕颜色和“控制面板”设置都存储在这里。这些信息与用户的配置文件相关联。此项有时缩写为“HKCU”。
HKEY_USERS 包含计算机上的所有以活动方式加载的用户配置文件。HKEY_CURRENT_USER 是 HKEY_USERS 的子项。HKEY_USERS 有时缩写为“HKU”。
HKEY_LOCAL_MACHINE 包含特定于计算机的配置信息(用于任何用户)。此项有时缩写为“HKLM”。
HKEY_CLASSES_ROOT 是 HKEY_LOCAL_MACHINE\Software 的子项。存储在这里的信息可确保使用 Windows 资源管理器打开文件时能打开正确的程序。此项有时缩写为“HKCR”。从 Windows 2000 开始,这些信息同时存储在 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 项下。HKEY_LOCAL_MACHINE\Software\Classes 项包含可应用于本地计算机上的所有用户的默认设置。HKEY_CURRENT_USER\Software\Classes 项包含覆盖默认设置并且只应用于交互用户的设置。HKEY_CLASSES_ROOT 项提供合并上述两个来源的信息的注册表视图。HKEY_CLASSES_ROOT 还为针对以前的 Windows 版本设计的程序提供这种合并视图。要更改交互用户的设置,必须在 HKEY_CURRENT_USER\Software\Classes 下进行更改,而不是在 HKEY_CLASSES_ROOT 下更改。要更改默认设置,必须在 HKEY_LOCAL_MACHINE\Software\Classes 下进行更改。如果将项写到 HKEY_CLASSES_ROOT 下的一个项,系统会将信息存储在 HKEY_LOCAL_MACHINE\Software\Classes 下。如果将值写到 HKEY_CLASSES_ROOT 下的一个项,并且 HKEY_CURRENT_USER\Software\Classes 下已经存在该项,系统会将信息存储在前面的注册表项下,而不是存储在 HKEY_LOCAL_MACHINE\Software\Classes 下。
HKEY_CURRENT_CONFIG 包含有关本地计算机在系统启动时使用的硬件配置文件的信息。
下表列出了 Windows 当前定义和使用的数据类型。值名称的最大大小如下:
Windows Server 2003 和 Windows XP:16,383 个字符
Windows 2000:260 个 ANSI 字符或 16,383 个 Unicode 字符
Windows Millennium Edition/Windows 98/Windows 95:255 个字符
长值(超过 2,048 字节)必须存储为文件,将文件名存储在注册表中。这样有助于注册表有效地执行。值的最大大小如下:
Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003:可用内存
Windows Millennium Edition/Windows 98/Windows 95:16,300 字节
注意:项的所有值的总大小不得超过 64K 的限制。


名称 数据类型 描述
二进制值 REG_BINARY 原始二进制数据。大多数硬件组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。
DWORD 值 REG_DWORD 由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。与之有关的值是 DWORD_LITTLE_ENDIAN(最不重要的字节在最低位地址)和 REG_DWORD_BIG_ENDIAN(最不重要的字节在最高位地址)。
可扩展字符串值 REG_EXPAND_SZ 长度可变的数据字符串。这种数据类型包括程序或服务使用该数据时解析的变量。
多字符串值 REG_MULTI_SZ 多字符串。包含用户可以阅读的列表或多个值的值通常就是这种类型。各条目之间用空格、逗号或其他标记分隔。
字符串值 REG_SZ 长度固定的文本字符串。
二进制值 REG_RESOURCE_LIST 一系列嵌套的数组,用于存储硬件设备驱动程序或它控制的某个物理设备所使用的资源列表。此数据由系统检测并写入 \ResourceMap 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
二进制值 REG_RESOURCE_REQUIREMENTS_LIST 一系列嵌套的数组,用于存储一个设备驱动程序(或其控制的某个物理设备)可以使用的硬件资源列表。系统将此列表的子集写入 \ResourceMap 树。此数据由系统检测,作为二进制值以十六进制的格式显示在注册表编辑器中。
二进制值 REG_FULL_RESOURCE_DESCRIPTOR 一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。此数据由系统检测并写入 \HardwareDescription 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
REG_NONE 没有具体类型的数据。此数据由系统或应用程序写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中。
链接 REG_LINK 一个 Unicode 字符串,它命名一个符号链接。
QWORD 值 REG_QWORD 由 64 位整数数字表示的数据。此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 2000 中。


注册表配置单元是注册表中的一组项、子项和值,它有一组支持文件,这些文件包含其数据的备份。在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除 HKEY_CURRENT_USER 之外,所有其他配置单元的支持文件都位于 Systemroot\System32\Config 文件夹中;HKEY_CURRENT_USER 的支持文件位于 Systemroot\Profiles\Username 文件夹中。这些文件夹中的文件的扩展名(有时没有扩展名)表示文件所包含的数据的类型。
注册表配置单元 支持文件
HKEY_LOCAL_MACHINE\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security Security、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software Software、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT Default、Default.log、Default.sav
在 Windows 98 中,注册表文件称为 User.dat 和 System.dat。在 Windows Millennium Edition 中,注册表文件称为 Classes.dat、User.dat 和 System.dat。

注意:使用 Windows NT、Windows 2000、Windows XP 和 Windows Server 2003 中的安全功能,管理员可以控制对注册表项的访问权限


这篇文章中的信息适用于:
Microsoft Windows Server 2003, 64-Bit Datacenter Edition
Microsoft Windows Server 2003 64-bit Enterprise Edition
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Web Edition
Microsoft Windows XP 64-Bit Edition
Microsoft Windows XP Home Edition
Microsoft Windows XP Professional Edition
Microsoft Windows XP Media Center Edition
Microsoft Windows XP Tablet PC Edition
Microsoft Windows 2000 Server
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows 2000 Datacenter Server
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows NT Server 4.0 企业版
Microsoft Windows NT Workstation 4.0 开发员版
Microsoft Windows Millennium Edition
Microsoft Windows 98 第二版
Microsoft Windows 98 Standard Edition
Microsoft Windows 95
Microsoft Windows Small Business Server 2003 Premium Edition
Microsoft Windows Small Business Server 2003 Standard Edition
搜索更多相关主题的帖子: Microsoft 注册表 Windows 
2006-04-14 17:08
燃烧
Rank: 1
等 级:新手上路
帖 子:3267
专家分:1
注 册:2006-2-6
收藏
得分:0 
你回来了我就要下岗了哦...

Give me a world !   A beautiful world !
2006-04-19 19:09
快速回复:Microsoft Windows 注册表说明
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021218 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved