标题：注册表
由来
在Windows 3.x操作系统中，注册表是一个极小[1]文件，其文件名为Reg.bat，里面只存放了某些文件类型的应用程序关联，大部分的设置放在Win.ini、System.ini等多个初始化INI文件中。由于这些初始化文件不便于管理和维护，时常出现一些因INI文件遭到破坏而导致系统无法启动的问题。为了使系统运行得更为稳定、健壮，Windows 95/98设计师们借用了Windows NT中的注册表的思想，将注册表引入到Windows 95/98操作系统中，而且将INI文件中的大部分设置也移植到注册表中，因此，注册表在Windows 95/98操作系统的启动、运行过程中起着重要的作用。
作用
概述注册表是windows操作系统中的一个核心数据库，其中存放着各种参数，直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行，从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息，比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等，联网计算机的整个系统的设置和各种许可，文件扩展名与应用程序的关联，硬件部件的描述、状态和属性，性能记录和其他底层的系统状态信息，以及其他数据等。
注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作，所以所有设备都通过注册表来控制，一般这些  注册表是通过BIOS来控制的。在Win95下，16位驱动会继续以实模式方式设备工作，它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下，它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。
在没有注册表的情况下，操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。注意事项在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备，它使用驱动程序，甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动，这个驱动是独立于操作系统的，但是操作系统需要知道从哪里找到它们，文件名、版本号、其他设置和信息，没有注册表对设备的记录，它们就不能被使用。
当一个用户准备运行一个应用程序，注册表提供应用程序信息给操作系统，这样应用程序可以被找到，正确数据文件的位置被规定，其他设置也都可以被使用。
注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息（比如说日期），安装软件的用户，软件版本号和日期，序列号等。根据安装软件的不同，它包括的信息也不同。
然而，一般来说，注册表控制所有32位应用程序和驱动，控制的方法是基于用户和计算机的，而不依赖于应用程序或驱动，每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以，计算机功能和安装的硬件和软件有关，对所有用户来说项都是公用的。
有些程序功能对用户有影响，有些是作用于计算机而不  注册表是为个人设置的，同样的，驱动可能是用户指定的，但在很多时候，它们在计算机中是通用的。用户模式注册表控制用户模式的例子有：
控制面板功能； 
桌面外观和图标； 
网络参数； 
浏览器功能性和特征； 
那些功能中的某些是和用户无关的，有些是针对用户的。
计算机相关控制项基于计算机名，和登陆用户无关。控制类型的例子是安装一个应用程序，不管是哪个用户，程序的可用性和存取是不变的，然而，运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机，但是当前连接和用户信息相关。计算机目这里是在注册表基于计算机控制条目的一些例子：
存取控制； 
登陆确认； 
文件和打印机共享； 
网卡设置和协议； 
系统性能和虚拟内存设置；程序交互在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互，比如复制和粘贴，它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置，理解注册表仍是做Winnt和Win95系统管理基本常识。
打开方式
两种方式Win98/98SE/Me 
  运行中输入regedit.exe无权限限制
Win2000/XP 
1.开始>>运行.中输入regedit 
2.开始>>运行.中输入regedt32
Win7
Win+R, regedit或regedt32两种比较第一种方法打开的注册表编辑器和Win98下的一样，而且功能相同，而使用第二种方法打开的注册表编辑器则可以方便的设置权限，建议网络管理员使用第2种方法打开注册表编辑器修改需要修改的权限设置部分以免被他人恶意修改。
Windows Vista/7
1.在开始菜单搜索框中输入regedit并按回车键.（需要管理员权限）
2.在运行中输入regedit.exe（需要管理员权限）
存放位置
2000/XP注册表文件按功能来分，也是由系统注册表文件和用户注册表文件两类组成的
注册表文件存放系统的所有设置信息：
系统设置和缺省用户配置数据存放在系统\系统文件夹\SYSTEM32\CONFIG文件夹下的6个文件，DEFAULT、SAM、SECURITY、SOFTWARE、USERDIFF和SYSTEM中，而用户的配置信息存放在系统所在磁盘的\Documents and Setting\文件夹，包括ntuser.dat ntuser.ini ntuser.dat.log
结构
简介注册表是Windows程序员建造的一个复杂的信息数据库，它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合，从而产生出一个绝对唯一的注册表。
计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这六个文件中：
DEFAULT，SAM，SECURITY，SOFTWARE，SYSTEM，NTUSER.DAT。
当你选中一个键值的时候，编辑下拉菜单下就可以看到一个选项——---权  注册表限，用鼠标单击这个选项以后会出现图2的窗口。用鼠标分别单击各个用户组就可以看到不同的权限限制，如果你觉得某一个用户组的权力太高了，就可以在下方修改权限（注意：必须赋予Administrators组用户完全权限，否则一旦你或相应的软件、驱动程序要修改注册表，但是由于所有的组用户都没有权限修改，所以你将不能够成功安装。所以必须把完全权限赋予Administrators组用户（系统默认）。图3是Administrators组用户所拥有的权限。数据结构注册表由键（或称“项”）、子键（子项）和值项构成。一个键就是分支中的一个文件夹，而子键就是这个文件夹中的子文件夹，子键同样是一个键。一个值项则是一个键的当前定义，由名称、数据类型以及分配的值组成。一个键可以有一个或多个值，每个值的名称各不相同，如果一个值的名称为空，则该值为该键的默认值。
在注册表编辑器（Regedit.exe）中，数据结构显示如下，其中，command键是open键的子键，（默认）表示该值是默认值，值名称为空，其数据类型为REG_SZ，数据值为%systemroot%/system32/NOTEPAD.EXE "%1数据类型注册表的数据类型主要有以下四种：
显示类型（在编辑器中）
数据类型
说明
REG_SZ
字符串
文本字符串
REG_MULTI_SZ
多字符串
含有多个文本值的字符串
REG_BINARY
二进制数
二进制值，以十六进制显示。
REG_DWORD
双字
一个32位的二进制值，显示为8位的十六进制值。
主键介绍HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。（比如文件的位置，注册和未注册的状态，版本号等等）这些设置和用户无关，因为这些设置是针对使用这个系统的所有用户的。
HKEY_LOCAL_MACHINE\AppEvents 
为了以后在客户机上运行客户机/服务器这样的应用程序，在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上，这些键会保存部分指针。
HKEY_LOCAL_MACHINE\Config 
这个键保存着你计算机上所有不同的硬件设置（这些从控制面板的系统属性中硬件配置文件中可以创建）。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键（比如0001或者0002等等）来保存，每个都是一个独立的配置。如果你只有一个单一的配置，那就只会有0001这个键 
HKEY_LOCAL_MACHINE\Config01\Display
这个键表示显示的设置，如荧屏字体，窗体大小，窗体位置和分辨率等 
HKEY_LOCAL_MACHINE\Config01\System
这个键保存着系统里打印机的信息 
HKEY_LOCAL_MACHINE\Config01\System\CurrentControlSet\Control\Print\Printers
在这个键下面，有一个键是为系统上每一个打印机设置的，通过控制面板添加和删除打印机会调整这个列表 
HKEY_LOCAL_MACHINE\Enum
Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS,ESDI,FLOP,HTREE,ISAPNP,Monitor,Network,Root,SCSI，和 VIRTUAL。子键名  注册表表示它们各自的硬件设备信息。
HKEY_LOCAL_MACHINE\Enum\BIOS
BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出，包括每一个键的详细说明，举例，*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能，它就会别列入到Enum下的Root键中 
HKEY_LOCAL_MACHINE\Enum\Root
Root键包括所有非即插即用设备的信息。在这里，我们可以迅速断定哪些设备是即插即用，那些不是。比如SCSI适配器，这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置，这个不会改变。
HKEY_LOCAL_MACHINE\Enum\Network
win95的网络功能在这个键有详细说明，子键包括了每个已经安装的主要的服务和协议。
HKEY_LOCAL_MACHINE\HARDWARE
hardware子键包括了两个多层的子键：DESCRIPTION键，它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键，它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息，及数学处理器和串行口。
HKEY_LOCAL_MACHINE\Network 
这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINE\Enum\Network这个键中。这个键有一个子键，logon，包括了lmlogon（本地机器登陆？0=false 1=true）的值，logonvalidated（必须登陆验证），策略处理，主登陆方式（Windows登陆 ，微软网络客户方式等），用户名和用户配置。
HKEY_LOCAL_MACHINE\SECURITY
security 有两个子键，第一个是存取（它最终致使一个远程键列出网络安全资源，存取权限等）和提供（包括列出网络地址和地址服务器），这个键被保留用在以后使用高级安全功能和NT兼容性上 
HKEY_LOCAL_MACHINE\SOFTWARE 
这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化，依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。
我们在\Microsoft\Windows\Current Version下发现了一些有意思的设置，它有如下子键：
1.App paths：你曾经安装过的所有32位软件的位置。
2.Applets,Compression,Controls Folder : 包括下控制面板象显示属性那样属性条的附件。
3.Detect,explorer ：很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行——---和提示子键可以让你建立自己的提示。
4.Extensions : 一个扩展联系的列表，当前相关联的扩展名和比特定的执行文件更适合的目标类型。
5.Fonts,fontsize,FS Templates ：系统属性条中所选择文件系统模板， 服务器，桌面计算机或者笔记本电脑信息。
6.MS-DOSEmulation ：包括一个应用程序兼容子键 为大量过时的程序二进制键所设。
7. MS-DOS Options ：在dos模式下的设置，如himem.sys，cd-roms等。
8.Network ：网络驱动的配置。
9.Nls,Policies ：系统管理员认为你不应该去做的事。
10.ProfileList ：所有可以登陆你计算机的用户名列表。
11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\下的子键中被执行。
Run : 程序在启动时运行 
RunOnce : windows初始化时程序在启动时只运行一次，这个经常用在当安装软件之后需要重新启动系统的时候，所以这个键一般都是空的。
RunServices : 它就象Run一样，但是包含了“服务”，它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs，就象McAfee或者RegServ工作一样。
RunServicesOnce : 它只运行一次，但是是“系统自身”的安装（大量的windows安装参数：通常键值包括了系统目录位置，和win95更新，可选项安装组件，和windows启动目录的子键。
注意：在很多黑客木马软件中，常常在这里添加键值（一般是在Run中），这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序（比如我就很不喜欢超级解霸的自动伺服器，在这里可以去掉它）。
12.SharedDLLs：共享DLL的列表，每一个都给出了在一个不可知系统的一个数字等级。
13.Shell Extensions：列出了“被认可的”OLE注册条，和相应的CLSID连接。
14.ShellScrap ：这个包含了一个PriorityCacheformats的子键，它包括了一个空的有限值，它更象过去SmartDrive命令行参数的派生。
15.Time Zones : 主键值是你现在的时区；子键定义了所以可能的时区。
16.Uninstall：这个保存了程序在添加/删除程序对话框的显示；子键包含了指向反安装程序的路径。和安装向导相似………….....）winlogon（包含了合法登陆布告的文本句） 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt，win95只包括限制驱动的控制设置信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 
这个子键包括了win95控制面板中的信息。不要编辑这些信息，因为一些小程序的改变在很多地方，一个丢失的项会使这个系统变的不稳定 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
这个键包括了所有win95的标准服务。所有被添加的服务和设备，每个标准的服务键包括了它的设置和辨认设置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Arbitrators
atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址，冲突，DMA，I/O端口冲突和IRQ冲突。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Class
class键包括了所有win95支持的设备classes控制，这些和你在添加新硬件出现的硬件组很类似，还包括了这些设备如何安装的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\inetaccs 
这个键包括了关于这个系统变化的ie附件的可用性，它仅在你安装过ie2。0或者更高版本才出现。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSNP32 
msnp32描述了客户机如何在microsoft网络中实现功能，它包括了认证过程和认证者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNP32
nenp32键描述了windows客户如何在netware网络中工作功能，它包括了关于认证过程和证明者的信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess
在这个键里包括需要远程工作在win95系统上的信息，有认证参数，主机信息，和为了建立一个拨号连接工作的协议信息。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP
这个键包括了所以snmp（简单网络管理协议）的参数。它包括了允许的管理，配置陷阱，和有效的团体。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD
vxd键包括了win95中所有32位虚拟设备驱动信息，win95自动管理它们，所以不必要用注册表编辑器编辑它们，所以的静态vxds用子键列出。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebPost
webpost键包括了所有装载的internet邮局的设置，如果你连接一个isp，并且它列出载这里，你应该给自己选则一个服务器。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock
这个键列出了当连接到internet上winnsock文件的信息，如果列出了不正确的文件，你将不会连接上internet。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinTrust
wintrust功能是检查从Internet上下载来的文件是否有病毒，它可以确保你得到干净安全的文件。
HKEY_CLASSES_ROOT
在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。
HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息，在Win95和Winnt中，HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINE\Software\Classes是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置，相反的，他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。
在Windows用户图形界面下，每件事——---每个文件，每个目录，每个小程序，每个连接，每个驱动---都被看做一个对象；每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为：
一个对象类型和一个文件扩展名关联 
一个对象类型和一种图标关联 
一个对象类型和一个命令行动作的关联 
定义对象类型相关菜单选项和定义每一个对象类型属性选项 
在Win95中，相关菜单就是当你鼠标右击一个对象时所弹出的菜单；属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标，和添加或者删除给定对象类型的弹出菜单内容（或者所有的对象类型） 
HKCR包括了三种基本类型的子键 
\??? 或者文件扩展名子键 
文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作，属性项，和相关操作。
\object 类型子键 
对象类型子键定义了一个对象类型在它缺省图标的项，它的弹出菜单和属性项，它的相关操作和它的CLSID连接。
\CLSID 子键
在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标，应用程序，目录，文件类型等等对象的数字。是微软为制造商分配的，每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。
注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说，假定你有一个微软Excel 7电子数据表的Word 7文档，当你在Word中双击这个电子数据表，应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态，就好像你在Excel中一样。它是如何知道该做什么呢？每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后，到注册表中寻找指示，依赖CLSID下的数据运行.DLL文件或者应用程序。
CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单，或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的，实际上，为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串，除非你是程序员，否则多数部分键看起来是很枯燥的。它们包括内存管理模式，客户机/服务器配置，和OLE处理的.dll连接。
注解：
1)shell:Shell键有个一”action“子键，如同”open“一样，这里有一个command子键；command子键有一个缺省句值，它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项，给这个open子键一个command（缺省命令行"C:\Windows \Notepad.exe %1")子键会使得打开这个对象类型时使用笔记本做为缺省应用程序。其他操作选项包括View,Print,Copy,Virus,Scan等等。
2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项（比如说快速查看，一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件） 
3)shellnew:ShellNew包含了一个“command”句，它包含了一个打开对象类型“新”文件的命令行。
4)DefaultIcon:DefaultIcon子键包含了一个“default”句，它包括了一个指向图标的命令行（比如说，"C:\Windows \System \shell32.dll,2" 2就是从0数的第三个图标，记住，是在Shell32.dll中的）
除了和它们扩展名关联扩展名和文件类型以外，它们在HKEY_CLASSES_ROOT还有很多项。所有它们的项也都适用于nt，如界面和应用程序的执行。通常你将编辑仅仅一小部分这样的项。除了弹出菜单提示以外，所有包含在这里的项只会在安装应用程序，在程序中设置调整或者创造关联时被改变。
没有HKEY_CLASSES_ROOT你是不能启动系统的；你手工编辑它真的是很困难。HKEY_CLASSES_ROOT是你需要注册表一个很重要的原因：应用程序的控制和操作这个系统。看到它的尺寸和这个处理键的复杂程度，SYSTEM.INI 和 WIN.INI不再够用也是不用惊奇的。
HKEY_CURRENT_CONFIG
win95一般只使用一个硬件配置文件。如果有多个硬件配置文件。HKEY_LOCAL_MACHINE\Config中就会添加一个键。HKEY_LOCAL_MACHINE\Config包含了HKEY_CURRENT_CONFIG中相同的数据 
在启动时，你可以选择你愿意使用的配置文件。如果有多个安装，每次系统重新启动时，你就必须选择.HKEY_CURRENT_CONFIG是在启动时控制目前硬件配置的键 
在系统启动以后，任何地方的变化都会自动影响到它。程序员经常使用HKEY_CURRENT_CONFIG方便的来存取配置信息。
HKEY_CURRENT_CONFIG包括了系统中现有的所有配置文件的细节。你的选择影响了哪一个硬件配置文件成为现在的。举例来说，如果配置0002被选择了，所有0002的配置信息会被映射到这些键上 
HKEY_CURRENT_CONFIG允许软件和设备驱动程序员很方便的更新注册表，而不涉及到多个配置文件信息。HKEY_LOCAL_MACHINE中同样的数据和任何注册表的变化都会同时的变化。
HKEY_DYN_DATA
在HKEY_DYN_DATA键中所有信息都是在启动时被写入的。它再现了Win95在系统中控制硬件所使用的动态数据。它仅只有三个键。它们保留了系统目前状态监视所需要的很简单的信息 
在HKEY_DYN_DATA中除了暂时文件，没有任何数据被写入硬盘。在系统每次重新启动时所有的数据被重新写入。另外，在既插即用的情况下，当设备改变状态时一些数据可能会写入。（比如说系统运行时在一个PCMCIA槽中插入一块网卡） 
Config Manager 
配置管理包括了在Win95中每个安装设备启动时的信息。在启动时它从HKEY_CURRENT_CONFIG中获得它的列表并且检查每个项。如果找到一个没有在列表中列出的设备，它向系统报告这些信息来安装。如果列表中的一个设备不在系统中，它就会在这个键值中显示这个情况。
Enum 
系统中已安装的每个设备的启动状态都在这个键中被列出。如果某个设备没准备好，它就在这里显示出来。如果它准备好了，它也会显示出来。每个设备指针也被列出显示哪个注册这个设备用来做它的控制 
PerfStats 
系统中所有设备的性能特征保存在这个键。它是十分难读的，但是通过系统监视器就十分容易看懂 
Security 
这个键显示了登陆在这台机器和网络上的登陆用户从哪个证明者得到有效的证明 
HKEY_USERS
HKEY_USERS将缺省用户和目前登陆用户的信息输入到注册表编辑器，在win95中，它仅被那些配置文件激活的登陆用户使用，同样在nt下，它也是这样。
win95从user.dat中取得他们的信息，winnt从ntuser.dat中取得信息..dat文件包含了所有基于用户的注册表设置并且允许你取配置这些用户的环境。如果你改变了缺省用户的设置，所有新用户会继承同样的设置。而且，那些已经被建立的用户变的失效。
HKEY_USERS\.DEFAULT 
这个键的设置被用于所有新用户，用户们的配置文件从这个配置文件中建立。它包括所有的环境，屏幕，声音，和其他用户相关的功能。
HKEY_USERS\.DEFAULT\AppEvents 
这个键列出了事件响应，描述，和各种系统功能的声音 
HKEY_USERS\.DEFAULT\AppEvents\Schemes 
缺省和当前的声音方案在这个键和它的子键中列出。在事件的时间中系统播发这些声音 
HKEY_USERS\.DEFAULT\Console 
这个键保存了MS-DOS窗口的选项、布局、荧屏颜色和字体设置。
HKEY_USERS\.DEFAULT\Control Panel 
所有在控制面板里配置设置的信息全保存在这个键和它的子键中 
HKEY_USERS\.DEFAULT\Control Panel\Accessibility 
这个键保存了所有在控制面板中辅助功能的设置。
HKEY_USERS\.DEFAULT\Control Panel\Appearance 
这个键保存了所有在控制面板里显示外观的设置 
HKEY_USERS\.DEFAULT\Control Panel\Appearance\Schemes 
这个键列出了缺省可用的方案，和每个方案包括的颜色和字体。
HKEY_USERS\.DEFAULT\Control Panel\Colors 
这个键保存了Windows每个缺省颜色的设置。每个值（颜色名）像一个RGB（红、绿、蓝）值列出来。比如说，黑色是0 0 0，意思就是红色值是0，绿色值是0，蓝色值也是0。相反的白色就是255 255 255。其他的颜色都是RGB值合成的。
HKEY_USERS\.DEFAULT\Control Panel\Sound 
这个键决定了在错误时系统是否发出响声 
HKEY_USERS\.DEFAULT\Environment
这个键保存了环境设置，特定的临时性文件的位置 
HKEY_USERS\.DEFAULT\Keyboard Layout
键盘布局设置被设置成标准美国英国标准传统键盘布局。如果你选择了其他的布局，那么数字列表会不同 
HKEY_USERS\.DEFAULT\Software 
软件的安装设置被保存在这个键中，缺省用户只有微软程序的设置 
HKEY_USERS\.DEFAULT\Software\Microsoft
微软的应用程序的相关设置被放在这个键里。如果其他微软程序被安装，它们就更新这个用户的微软键。在下面的项目显示了缺省的控制 
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows 
这个键保存了只和windows有联系，和windows nt没关系的设置，这些设置在win95中是相同的，使用同样的驱动和功能 
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT
基于nt 功能的设置在这个键中。windows nt没有这些设置就不能够运行，它建立环境和网络上的进程，用户权限，打印机，字体等等 
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
这个设置控制了windows nt的登陆功能 
HKEY_USERS\.DEFAULT\UNICODE Program Groups
缺省unicode程序组只是在使用程序管理器时被使用，explorer并不使用它们 
S-1-5-21-1658001358-1336221227-1912232085-500 (SID) 
HKEY_USERS\S-1-5-21-1658001358-1336221227-1912232085-500 
这个是目前登陆用户的sid，每一个网络上的用户都被域用户管理器分配了一个sid，每一个sid都是唯一的，所以它依赖与登陆用户，这个信息改变。它是从用户配置文件的ntuser.dat文件调出的。一般来说，它的子键很多，是基与安装的软件的，选择的和最终设置 
HKEY_USERS\SID\Network 
这个键显示了所有连接到其他系统的映射。举例来说，如果你映射驱动器H: 到\server1\docs，它会作为一个子键显示出来 
HKEY_USERS\SID\Printers
这个键显示了所有安装的，共享的和连接的打印机 
HKEY_USERS\SID\Software 
这个键为单独的用户扩展，基于为用户或者被用户安装的其他软件。
HKEY_USERS保存了所有目前登陆用户和缺省用户的设置。登陆用户的改变就如同不同用户使用这个系统，sid是用户信息的表现。使用程序重新找到任何用户的ntuser.dat文件并且把他放如到注册表中观看和编辑。
HKEY_CURRENT_USER 
HKEY_CURRENT_USER包含着在HKEY_USERS安全辨别里列出的同样信息。任何在HKEY_CURRENT_USER里的改动也都会立即HKEY_USERS改动。相反也是这样。
HKEY_CURRENT_USER允许程序员和开发者易于存取目前登陆用户的设置。通过建立这个键，微软很容易在不涉及到用户的SID下改变，添加和设置。
也就是说，所有当前的操作改变只是针对当前用户而改变，并不影响其他用户。
存取信息
可以通过VB5.0提供的两个语句和两个函数在程序中读写注册表。
1、SaveSetting语句
语法. SaveSetting(appname,section,key,setting)
2、GetAllSettings函数
语法. GetAllSettings(appname,section)
3、GetSetting函数
语法. GetSetting(appname,scetion,key[,default])
4、DeleteSetting语句
语法. DeleteSettingappname,section,[key]
参数含义. 
appname. 字符串表达式，应用程序名
section. 字符串表达式，小节名
key. 字符串表达式，关键字名
setting. 表达式，关键字设定值
下面通过实例来说明它们的用法. 应用程序名为jld_app，小节名为startup，关键字为left。
在注册表中建立应用程序的注册项. 
SaveSetting“jld_app”，“startup”，“left”，100
从应用程序注册表项中读取所有关键字及其对应的值. 
Dimmysettings(10,10)AsVariant
DimsettingindexAsInteger
GetAllSettings“jld_app”，“startup”
Forsettingindex=LBound(mysettings,1)ToUBound(mysettins,1)
Debug.Printmysettings(settingindex,0）；“=”；mysettings(settingindex,1)
Nextsettingindex
EndSub
从应用程序注册表项中读取关键字“left“的设置. 
Debug.PrintGetSetting（“jld_app”，“startup”，“left”，“notok”）
从WIN98注册表中删除小节“startup”
DeleteSetting“jld_app”，“startup”
相关术语
1、HKEY ：“根键”或“主键”，它的图标与资源管理器中文件夹的图标有点儿相像。Windows98将注册表分为六个部分，并称之为 HKEY_name，它意味着某一键的句柄。
2、key（键）：它包含了附加的文件夹和一个或多个值。
3、subkey（子键）：在某一个键（父键）下面出现的键（子键）。
4、branch（分支）：代表一个特定的子键及其所包含的一切。一个分支可以从每个注册表的顶端开始，但通常用以说明一个键和其所有内容。
5、value entry（值项）：带有一个名称和一个值的有序值。每个键都可包含任何数量的值项。每个值项均由三部分组成：名称，数据类型，数据。
6、 字符串（REG_SZ）：顾名思义，一串ASCII码字符。如“Hello World”，是一串文字或词组。在注册表中，字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。注册表总是在引号内显示字符串。
7、二进制（REG_BINARY）：如 F03D990000BC ，是没有长度限制的二进制数值，在注册表编辑器中，二进制数据以十六进制的方式显示出来。
8、双 字（REG_DWORD）：从字面上理解应该是Double Word ，双字节值。由1-8个十六进制数据组成，我们可用以十六进制或十进制的方式来编辑。如 D1234567。
9、 Default（缺省值）：每一个键至少包括一个值项，称为缺省值（Default），它总是一个字串。
保护
保护注册表是很重要的，有很多不同的工具可以实现这一目的。当没有安全设置时，用户可能的错误会更多。幸运的是，他们可以有几种方法来保护Windows注册表，在注册表失败时他们可以用额外的拷贝来恢复注册表。下面就是其中的一些方法：
1、使用windows备份软件
注：Win95和Win98备份程序有部分区别，在这里只讲Win98的备份程序。
Win98中包括一个备份程序。当安装Win98时如果你选择“自定义安装”，或者你可以在控制面板中的添加/删除程序里安装它。当你安装了这个备份程序，从 开始菜单| 程序| 附件 |系统工具|备份 可以运行它。启动时，这个程序提示你是否新建一个新备份，打开现有的备份作业，或者是还原备份文件。
如果选择新建备份，则会有一个备份向导提示你如何去做备份。
如果选择取消向导，那么可以自己手工设置要备份的内容。在备份内容里可以备份网络和本地驱动器的文件。可以在你想备份磁盘或者文件的选择框打上对号来做备份工作。然后在备份在何处里填上你做备份的目的位置既可。如果要连同windows注册表一起备份，那么在 作业|选项|高级 里，在“备份windows注册表”选择框打对号就可以了。恢复则是备份的逆过程，这里就不详述了。
2、在安全模式下复制注册表文件
当Win95运行时，注册表文件被锁定，只能用注册表编辑器或者系统自己来进行存取，这些文件不能够被复制到其他地方。如果你在安全模式下启动Win95，注册表就不会使用同样的方法载入，这样SYSTEM.DAT 和 USER.DAT就可以被复制。实际上安全模式下系统文件是受保护的。
在启动时，当计算机显示Starting Windows 95...时按F8键进入安全模式。改变SYSTEM.DAT 和 USER.DAT的隐藏和只读属性这样就可以看到和复制它们。当拷贝完注册表文件，不要忘记了改回它们只读和隐藏属性。
3、使用微软配置备份来备份你的注册表文件
CFGBACK.EXE是Win95（Win98中没有这个软件）所附带的备份软件。它在Win95CD-ROM上的\Other\Misc\CFGBACK这个目录。在系统上拷贝所有的文件到任何一个目录，然后在桌面上建立一个CFGBACK.EXE的快捷方式。
要做一个注册表的备份，启动CFGBACK然后在选择的备份名位置输入一个名字然后点备份继续。
注意：在使用CFGBACK前确定你已经关掉了所有运行的程序。如果有程序在运行，CFGBACK可能将使得系统崩溃，数据丢失，而且保存的是一个不完整的备份。
4、导出注册表
在我看来，如果你没有磁带机或者其他东西。在REGEDIT.EXE中导出选项有一个导出为文本文件。通常使用一个压缩工具，导出工具选项也可以被用做保存和保护注册表的方法。
要导出在注册表中的任意键，选中这个键然后选择 注册/导出注册表文件。这将会复制这个键，并提示你在那里存放这个键及它的名字，然后用一个扩展名为.REG的文件保存这些数据。
当我们用文本格式导出注册表。我们可以使用象pkzip或者其他压缩工具压缩它（可以在正常Dos模式运行的）来节省空间。
为了备份我们可以在windows目录下建立一个用来做备份的文件夹。最少在一个月我们应该进行定期的备份。因为许多计算机用户订阅或购买带有赠送CD的计算机杂志。这些CD上有大量的时间限制的共享软件。许多用户从其中安装一个或者多个程序。当软件过期时它们反安装这些程序，但是这些程序在注册表中留下了一些痕迹。频繁的添加/删除程序会影响注册表，但是有了备份相对来说我们就比较安全了。
我们必须重新启动计算机到DOS模式下来导入，假定你导出你的注册表为mar99.reg.现在在命令提示下打
REGEDIT /C MAR99.REG
注册表编辑器将mar99.reg中的数据导入你的注册表并保存。不过只在命令提示下这个全部导入的工作才比较可靠。
技巧：如果你的注册表不断的变的庞大，那么先导出它然后象上面那样再逐个导入它。在这个导入导出过程中注册表中不必要的项将被清除出去。如果你使用Win98那么你可以使用Scanreg.exe程序。在windows目录命令提示下打 Scanreg /fix来执行命令。
请记住，预防要比修复好的多。注册表太容易被改变了，在发生突然事件时有几个注册表的备份是解决问题最好的方法。
从注册表故障中恢复
这里有四种不同级别的方法可以从Windows注册表故障中恢复
Restart
Redetect
Restore
Reinstall
让我们来看每一个方法来断定来使用它最适合的时间，并且解决何种类型的问题。
Restart（重新启动）
Win95注册表大部分内容保存在RAM中。如果哪个信息受损，它就必须重新读取正确的信息。当你重新启动系统，注册表将数据从硬盘读到RAM中就可以使用了。
拿字体ID问题来说。每种字体在系统中用一个ID号来使用。当一个字体被用在一个文档时，这个字体被这个数字保存并且用一个名字来标识。当字体ID损坏那么字体显示和打印将被其他字体取代。重新启动系统从硬盘上刷新数据，将产生修复过的字体ID，这样字体显示和打印就变的正常了。
这也就是为什么Windows系统故障经常在重新启动后就又恢复正常的一个原因。
Redetect the Devices（重新检测硬件）
如果一个设备工作不正常，那么在注册表中控制设备的设置可能受损了。为了重新设置注册表，你应该删除并且重装设备的驱动，或者你应该让Win95重新检测它们。很多时候，当一个设备工作不正常，它们会在设备管理器上此设备前使用一个惊叹号标志显示出来。很明显，如果设备从来不工作，可能就是其他问题了。但是如果设备以前工作，现在出问题，注册表就需要被恢复。
要检测一个设备，在控制面板上选择添加新硬件。第一个问题是问你“需要Windows搜索新硬件吗？”如果你选择是，Win95将做一个彻底的搜索去找“新”设备。任何设置不正确的或者没找到驱动的设备将被检测到并显示出来。
Restore（恢复）
从CFGBACK中恢复注册表
从CFGBACK中恢复注册表有很多好处。如果你建立了几个备份，你可以选择正确的一个来恢复。你可以如同做手术般放置排列注册表参数项。
导入注册表文件
象前面章节讲述的那样，一个代替使用备份的方法就是导入一个.REG文件..REG文件包括了目的数据位置，所以对这个文件简单的双击就可以将数据放入注册表。它是所有恢复程序中最简单的，但是也可能造成错误。错误不会是用REGEDIT.EXE把数据写入错误的位置，它很可能出现在用户直接双击注册表文件的时候。
Reinstall（重新安装）
重新安装
最后的方法就是重新安装驱动、应用程序或者Win95。一般来说，它只花费你一个小时左右时间去做这些事。如果你在现有的文件上重新安装，很多配置信息还被安装在同样的地方。同样在安装驱动程序时，你应该重新加入配置数据。
实际上找出原因并修复它所花费的时间比重新安装还要多，这就是为什么重新安装在技术支持上是一个相当普通的“解决方法”。关键的问题在于，“你是否想找出是什么错误，或者你是否只想让它工作正常？”答案取决于问这个问题的用户情况，发生问题的频繁次数和重新安装的软件的实用性。
当Windows第一次被安装时它将在启动目录的根目录上创建一个名为SYSTEM.1ST的文件。这是Windows第一次启动时创建的个简单的system.dat文件。你所应该做的就是将这个文件放到windows目录（在dos模式下）并将它的名字改为SYSTEM.DAT。然后重新启动。然后你就可以得到安装时第一次启动的windows。
因为很多.INI,.DLL和其他文件的改变，这种方法的成功机率大概只超过50%。比如当装IE4.0后系统和注册表将有一个彻底的改变。我们的system.1st文件虽然包含了一个Dll文件的参考，但它可能更新或者改变版本号。
这里就是几个在注册表出故障的时候恢复它的工具和方法。你的数据可能会安全恢复，但是不管你用什么方法，除了重新格式化硬盘，最好的方法就是做好系统注册表的备份工作。
破解三法
INF文件INF（设备信息文件）是微软公司为硬件设备制造商发布硬件设备驱动程序推出的一种文件格式。在INF文件中包含了操作（如安装、卸载、驱动等）硬件设备的各种信息（或脚本），诸如显示器、打印机、Modem等设备的安装就是通过它来完成的。　 
所以，利用INF文件的命令也能解锁注册表编辑器。具体的操作步骤如下：
(1）在“记事本”中输入以下语句，并保存为.inf文件：
[Version]
Signature="$CHICAGO$"
[Defaultinstall]
DelReg=ClsReg
[ClsReg]
HKCU,Software\Microsoft\windows\currentwersion\policies\system,disablergeistrytools
(2）用鼠标右键单击该.inf文件；在弹出的右键快捷菜单中，选择“安装”即可。JS文件JScript是一种解释型的、基于对象的脚本语言（Scripting Language）。用该语言编写的文件以.js作为文件名的扩展名..js文件既可以在网页中被调用，又可以像可执行程序那样直接双击运行。
利用JScript语言中的命令同样能解锁注册表编辑器，具体的操作步骤如下：
(1）在“记事本”中输入以下语句，并保存为.js文件：
var wshshell=wscript.createobject("wscript.shell");
wshshell.regwrite
("HKCU\\Software\\Microsoft\\windows\\currentwersion\\policies\\system\\disablergeistrytools",o,"reg_dword");
wshshell.regdelete
("HKCU\\Software\\Microsoft\\windows\\currentwersion\\policies\\system\\");
(2）直接用鼠标双击该.js文件即可。
在输入语句时需注意：“；”符号表示一个命令的结束，必须放在命令行尾；“//”后的文字只是起注释的作用，不会被执行；注册表中的各分支项必须用“\”分隔。组策略Windows2000/XP/2003的用户可以利用系统中的“组策略”功能来解锁注册表编辑器。具体 的操作步骤如下：　 
(1）依次单击“开始”　“运行”，在弹出的“运行”对话框的“打开”下拉文本框中输入命令“gpedit.msc”，然后单击“确定”按钮。　 
(2）在弹出的“组策略”窗口中，依次展开左侧子窗口中的“本地计算机策略”　“用户配置”　“管理模板”选项，再单击其下的“系统”子选项。　 
(3）在右侧子窗口中，双击“阻止访问注册表编辑工具”项目。在弹出的“属性”对话框的“设置”选项卡中选定“已禁用”单选项后，单击“确定”按钮（如图3所示）即可。
这种方法实质上是通过将“Disableregistrytools”键直接删除来解锁注册表编辑器的。此方法非常简单，不需记忆命令语句。由于Windows 98系统中没有“服务”的概念，所以此方法对于Windows 98系统用户就无效了，因此使用上有一定的局限性。
防病毒软件
现在的防病毒软件几乎都集成了修复注册表的功能模块，利用该功能模块就能解锁注册表编辑器。360安全卫士就很不错。大家试着用用吧。金山卫士和金山毒霸的系统修复功能，可以修复注册表，也具有注册表的清理功能，而且清理之后也会自动备份，以便恢复.
修改注册表
对于个人用户在家里使用计算机，这样的安全控制有时是没有必要的，但对于网吧，公共机房的管理者和使用者了解这些安全控制还是很有用的，使你可以轻松简单的控制你的计算机，也大大的减少了你的维护工作。Regedit注册表对于很多用户来说是很危险的，尤其是初学者，为了安全，最好还是禁止注册表编辑器regedit.exe运行，在公共机房更加重要，不然你的机器一不小心就被改得一塌糊涂了。
打开注册表到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System，如果你发现Policies下面没有System主键，则请在它下面新建一个主键，取名System，然后在右边空白处新建一个DWORD串值，名字取为DisableRegistryTools，把它的值修改为1，这样修改以后，使用这个计算机的人都无法再运行regedit.exe来修改注册表了，当然也包括你自己了，如果要恢复的话，请把下面的这段代码存为一个REG.REG文件，然后重新启动：
REGEDIT4 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableRegistryTools"=dword:00000000控制面板控制面板是Windows系统的控制中心，可以对设备属性，文件系统，安全口令等很多系统很关键的东西进行修改，你当然需要防范这些了。
打开\HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System\中新建DWORD值NoDispCPL，把值修改为1（十六进制）即可。禁用程序打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右边的窗口中新建一个DWORD串值：“RestrictRun”，把它的值设为“1”。这样我们就能做到禁止在Windows98中运行任何程序。指定程序打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右边的窗口中新建一个DWORD串值：“RestrictRun”，把它的值设为“1”。然后在RestrictRun的主键下分别添加名为“1”、“2”、“3”等字符串值，然后将“1”，“2”、“3”等字符串的值设置为你允许用户使用的程序名。例如将“1”、“2”、“3”分别设置为word.EXE、notepa XE、empires.EXE，则用户只能使用word、写字板、帝国时代了，这样你的系统将会做到最大的保障，也可以限制用户运行不必要的软件了。任务栏任务栏属性功能，可以方便用户对开始菜单进行修改，可以修改Windows系统的很多属性和运行的程序，这在我们看来是件很危险的事情，所以有必要禁止对它的修改。
打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右窗格内新建一个DWORD串值"NoSetTaskBar"，然后双击"NoSetTaskBar"键值，在弹出的对话框的"键值"框内输入1。显示属性打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System在右边的窗口中新建一个DOWRD串值：然后将“新值#1”更名为“NoDispCPL”，并将其值设为“1”就可以的了。图标设置打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右侧窗口中新建Dword串值，然后将“新值#1”更名为“NoSecCPL”，然后把它的值设置为1就行的了。密码标签打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右侧窗口新建Dword串值，然后将“新值#1”更名为“NoPwdPage”，然后把它的值设置为 1 即可。远程管理打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右侧窗口中新建Dword串值，然后将“新值#1”更名为“NoAdminPage”，然后把它的值设置为 1 即可。管理程序打开HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Policies\system\，在右边窗口新建DWORD串值“NoDevMgrP－age”并把它的值改为“1”就行。开始菜单打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explore，在右边的窗口中新建一个DWORD串值：“NoChangeStartMenu”，并把它的值改为“1”。网上邻居打开HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer，在右边的窗口中新建DWORD值NoNetHood，值为1（十六进制）。使用密码打开HKEY_CURRENT_USER\ControlPanel\desktop\ScreenSaveUsePassword修改它的值，值为0或1，0为不设密码，1则使用预设的密码，你根据自己的需要  注册表设置就行的了。启动菜单打开HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer，在右边的窗口中新建一个DWORD串值“NoChangeStartMenu”，并设值为“1”即可。文件系统打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System，在右边的窗口中新建一个DWORD串值：“NoFileSysPage”，然后把它的值改为“1”即可。设备管理打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System，在右边的窗口中新建一个DWORD串值：“NoDevMgrPage”，然后把它的值改为“1”。硬件配置打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System，在右边的窗口中新建一个DWORD串值：“NoConfigPage”，然后把它的值为“1”。安全口令你可以在IE的"Internet选项"对话框的"内容"选项页的"分级审查"框中设置口令，这样，在显示有关的页面时，总会出现"分级审查不允许查看"的提示信息，然后弹出口令对话框，要求您输入监护人口令。如果口令不对，则将停止浏览。但是，如果你把这个口令给遗忘了，你将无法浏览这些页面。在口令遗忘后，即使你重新安装IE4.0也是无法去掉安全口令，这时你只有求助于注册表：
打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies，在Policies子键下选择"Ratings"子键，按Del键将其删除，由于Ratings子键下的Key键值数据就是经过加密后的口令，删除了这一项，IE中的口令也就去掉了。历史纪录在Windows98系统中保留着使用者的各种历史纪录，其中包括最近打开的文档、程序、查找过的文件及在网络上的使用情况。在公共机房上机时，为了我们个人安全需要，我们很需要删除这些历史纪录，但一般的删除方法很不干净，这就得求助于注册表了。
打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer，删除表中所示的键， 清除Windows\Recent中的内容，刷新文档菜单，这样就能去掉你的记录。下面是这个目录下的表项：
位置 注册表中位置 
Documents menu RecentDocs 
Run dialog RunMRU 
Find Files dialog Doc Find Spec MRU 
Find Computer dialog FindComputerMRU 
公共机房的安全和系统稳定是很重要的，这里讲的只是最基本的保护功能，如果你要实现很好的保护，你必须求助于另外的管理软件了，这里只是为你提供一点小小的帮助。
使用技巧
这里是一些注册表小技巧，希望对大家有一些帮助。
让IE7/IE8的菜单栏跑到上面去
打开注册表编辑器，定位至HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\WebBrowser，新建一个名叫ITBar7Position的DWORD值，并把数值设置为1（十六进制）。
更改Aero Peek?的悬停时间
打开注册表编辑器，定位至HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced，新建一个名叫DesktopLivePreviewHoverTime的DWORD值，并把数值设置为1000x（十进制）。
注：1000x中的x指悬停时间为多少秒，比如5秒，那么数值就是5000。
调节Windows7任务栏缩略图预览的大小
打开注册表编辑器，定位至HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband，新建一个名叫MinThumbSizePx的DWORD值，并把数值设置为x（十进制）。
注：x指除了230以外的数值，因为系统默认就是230。