注册表结构
Ⅰ windows xp 注册表的结构
Windows NT/2000/XP注册表的数据结构
一、Windows NT/2000/XP注册表的层次结构
打开Windows NT、Windows 2000及Windows XP的注册表编辑器,可以看出这三种系统的注册表基本上是相同的,都具有以下5个主键:
(1).HKEY_LOCAL_MACHINE根键。该根键中保存了使系统及其中的硬件、软件正常运行所需的设置。
(2).HKEY_CLASSES_ROOT根键。该根键中包含了启动应用程序所需的全部信息。
(3).HKEY_CURRENT_CONFIG根键。该根键中包含了系统硬件的配置信息。
(4).HKEY_USERS根键。该根键中包含了默认用户和登录用户的设置信息。
(5).HKEY_CURRENT_USER根键。该根键中包含了与当前登录用户有关的映射配置信息。
与Windows 9x的注册表不同的是,Windows NT/2000/XP注册表的存放方式发生了变化,其注册表的根键和主键分支分类存放在%Windir%\System32\Config文件夹中,这样做不仅提高了Windows NT/2000/XP的运行效率,而且利于系统的维护。
关于Windows NT/2000/XP注册表的根键与主键分析,可参考上节课所介绍的Windows 9x注册表部分。
二、Windows NT/2000/XP注册表的键值类型
Windows NT/2000/XP注册表的键值类型除了具有与windows 9x注册表中相同的三种键值类型外,还具有以下几种键值类型:
(1).REG_MULTI_SZ(多字符串值)
REG_MULTI_SZ允许将一系列项目作为单独的一个值使用。多种网络传输协议、多个项目、设备列表以及其他类似的条目,都可以使用REG_MULTI_SZ条目来表示。
通常以列表形式表示的项目都应采用REG_MULTI_SZ条目,若同时使用多个条目,则每个都单独占一行。例如,可为同一块网卡设置多个IP地址。
(2). REG_EXPAND_SZ(可扩充字符串值)
REG_EXPAND_SZ条目代表一个可扩展的字符串。该条目编辑器与标准REG_SZ条目编辑器看起来基本相同,只是在变量用法上有所差异。在REG_EXPAND_SZ条目编辑器中输入变量后,当激活该变量时,系统会用相应的文本替换该变量。
REG_EXPAND_SZ条目的一个典型应用就是经常用到的%SYSTEMROOT%变量,激活该变量后,会返回Windows NT、Windows 2000或Windows xp文件所在的具体目录。%USERNAME%也作为变量使用,其具体数值就是已登录的用户名。
提示:在要求使用变量条目REG_EXPAND_SZ时,如果使用的是一个REG_SZ(字符串)条目,则注册表就不会用正确的信息替换该变量,它只是将实际的变量简单地作为文本来返回。
(3).REG_FULL_RESOURCE_DESCRIPTOR:这种类型用来保存硬件的资源列表,其内容是一个嵌套的数组。
(4).REG_DWORD_LITTILE_ENDIAN
这种类型的项是REG_DWORD类型项的同类,通常用来保存数字。数据值为32位的数字,最重要的字节按照顺序从左侧开始排列。
这种项类型存在于windows xp、windows 2000和windows 98中,从技术的角度来看,它也应该存在于windows NT中,但是windows NT中的注册表自动将REG_DWORD_LITTILE_ENDIAN类型的数据转换成标准的REG_DWORD类型。
(5).REG_DWORD_BIG_ENDIAN:这种项类型正好与REG_DWORD_LITTILE_ENDIAN相反,最重要的字节按照顺序从右侧开始排列。
(6).REG_LINK:这种类型的项中包含一个数据和注册表值之间的连接。例如,需要知道用户惟一ID的应用程序可以查询当前用户(HKEY_CURRENT_USER)的安全ID
Ⅱ 注册表数据结构中什么是键什么是子键有区别吗
有区别的!
注册表是系统的核心,在 Windows操作系统的启动、运行过程中起着至关重要的作用,但是对于初学者来说,面对注册表往往不知所措,惟恐动一下Windows系统就无法启动了,那么不妨我们一起认识一下注册表吧,掌握注册表的应用技巧,同时还可以学会如何使用一些工具达到对注册表的优化和管理功能,因为Windows Me系统的注册表的操作和Windows 98的比较相似,而Windows XP系统的注册表的操作和Windows 2000的很相似,我们就介绍两种操作系统,大家可以举一反三。让我们开始吧^_^。
什么是注册表
Windows的注册表存储当前系统的软、硬件的有关配置和状态信息,以及应用程序和资源管理器外壳的初始条件、首选项和卸载数据,还包括计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性,以及计算机性能纪录和底层的系统状态信息,以及各类其他数据。每次启动时,会根据计算机关机时创建的一系列文件创建注册表,注册表一旦载入内存,就会被一直维护着,注册表实际上是一个系统参数的关系数据库。
注册表的结构
注册表的层次结构类似于硬盘中的目录树(如图1),只要在Window的“开始/运行”中输入“Regedit”命令,即可打开注册表编辑器。
(1)Windows 98系统包含6个根键。表1给出了这6个根键的含义解释。
在Windows 2000系统中,包括前5个根键。
(2)键分为用户定义的键和系统定义的键,这些键没有特殊的命名约定,以主“HKEY_”形式配置单元的子目录形式存在,键和子键没有附带数据,它们只负责组织对数据的访问。
(3)子键分为用户定义的子键和系统定义的子键。这些子键也没有特殊的命名约定,它们是作为用户定义或者系统定义的键的子目录形式存在的。键和子键没有相关的数据,它们只是用来组织对数据的访问。
(4)值位于结构链的末端,就像是文件系统中的文件一样。它们包含着计算机及其应用程序执行时使用的实际数据。
注册表的基本操作
(1)向注册表添加项
打开注册表编辑器,将左侧窗口的树型控件定位到Software子键,然后选择“编辑/新建/项”命令,键入新注册表键的名称“mysoft”,最后按“Enter”键(如图2)。
(2)添加值
在注册表编辑器中,单击想要添加新值的注册表键或键值,然后在“编辑”菜单上,指向“新建”,然后单击要添加的值的类型:“字符值”、“二进制值”或“双字节值”(如图3),输入一个新值的名称,然后按 “Enter”键。
=================================================
注册表键
使用注册表编辑器,你可以在注册表中编辑主键(或子键),同时也可以修改键值项数据。
建立主键(或子键)
在注册表中,注册表编辑器左窗格显示主键或者子键的分层次关系。除此之外,你还可以在左窗格内创建新的主键(或子键)。
例如,我们需要在HKEY_CURRENT_USER\Software分支下创建一个“电脑世界”的主键(或子键)。
首先用注册表编辑工具打开注册表,然后再找到HKEY_CURRENT_USER\Software分支;再单击“编辑”菜单下的“添加项”命令,弹出“添加项”对话框,我们在项名称文本输入框内输入“电脑世界”,然后再单击“确定”按钮,在Software主键下将出现新建立的“电脑世界”主键(或子键)。
建立注册表键值项数据
建立键值项的方法非常简单,例如在注册表中打开“HKEY_CURRENT_USER\Software\电脑世界”分支;再单击“编辑”菜单下的“添加数值”命令,弹出“添加数值”对话框,在数值名称文本框内输入“RegisterNewInfo”;在数据类型下拉列表中选择数据类型,单击数据类型下拉列表,弹出各种数据类型,我们选择REG_SZ字符串类型,在字符串文本框内输入内容,再单击“确定”按钮,这样就建立好了一个键值,它出现在窗口的右边。
删除主键(或子键)
如果我们需要将一个键值项删除掉。首先选择该键值,然后再单击“编辑”菜单下的“删除”按钮,弹出确认删除的对话框,单击“是(Y)”按钮,该键值项数据将从注册表中被删除掉。
删除无用的主键(或子键),是一个减少注册表大小的好方法,先选择好要删除的某些不重要的主键(或者子键)分支,在删除这些分支之前,确认这些分支是否无用或者冗余。然后再单击“编辑”菜单下的“删除”命令,单击“是(Y)”按钮后,该主键(或子键)将从注册表中删除掉。
Ⅲ 简述注册表的结构
注册表编抄辑器与资源管理器的界面相袭似。它有六个分支(有的是五个):
hkey-classes-root 文件扩展名与应用的关联及ole信息
hkey-current-user 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器
hkey-local-machine 计算机硬件与应用程序信息
hkey-users 所有登录用户的信息
hkey-current-config 计算机硬件配置信息
hkey-dyn-data 即插即用和系统性能的动态信息
Ⅳ 注册表的组织结构是怎么样的
不很明白您提的问题。建议您打开注册表看看。打开“开始”——“运行”,输入“regedit”后回车。
Ⅳ Windows CE 6.0 注册表结构是怎么样的
与其他桌面版本Windows一样,Windows CE也使用注册表(Registry)来保存应用程序、驱动程序和用户专的设定以及其他属一些配置信息。 Windows CE注册表也采用树形结构来管理配置信息。
Windows CE支持四个根键,描述如下:
键名描述
HKEY_LOCAL_MACHINE 硬件和驱动配置数据
HKEY_CURRENT_USER 用户配置数据
HKEY_CLASSES_ROOT OLE 文件类型匹配配置数据
HKEY_USERS 适用于所有用户的数据
Ⅵ 注册表有哪些结构和功能
Windows系统管理电脑是通过这个叫“注册表”的核心数据库来统一进行的。它直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,对系统的运行起着至关重要的作用,是Windows计算机行为和能力的数据交换中心。注册表是一个二进制的数据库文件,用户是无法直接读取注册表的,为了方便大家编辑注册表,Windows提供了注册表编辑器。
技巧: 打开注册表编辑器的方法:单击“开始”菜单→“运行”,在“运行”对话框内输入“Regedit”,回车即可打开注册表编辑器。
注册表的具体结构和作用
注册表编辑器如图1所示,看得出来注册表是层叠式的结构,分别由配置单元、项、子项和值组成,对注册表相应的项、子项、值作出更改可以解决一些系统问题。但如何知道从哪些地方着手更改呢?新手起码应该了解的就是Windows 2000/XP/2003的5个注册表配置单元具体有什么作用。
1.HKEY_CLASSES_ROOT
这个单元的主要作用是在计算机上注册所有COM服务器和与应用程序相关联的所有文件扩展名、文件类型、文件图标。如果要用添加新的文件扩展名、更改系统图标,或者查看打开某类型文件的程序,就可以在此单元下编辑相关项。
2.HKEY_CURRENT_USER
这个单元记录了当前登录用户的登录信息、配置文件。其子项包含着环境变量、个人程序组、桌面设置、网络连接、打印机和应用程序首选项。我们对IE选项的控制(如屏蔽主页、代理、安全自定义、IE临时文件大小)、隐藏控制面板、禁止将打开的文档存入历史记录、资源管理器、隐藏桌面图标等操作,都是在该配置单元里进行修改。
3.HKEY_LOCAL_MACHINE
该单元中存放的是控制系统和硬件的设置,如内存、驱动程序、安全数据库、系统配置等信息。它涉及的面比较广,是注册表里修改最频繁的地方。这里保存有键盘使用的语言以及各种中文输入法、Windows应用程序卸载信息等,我们给鼠标右键添加新的命令、屏蔽3721等IE插件、清理已删除程序残留的注册信息和“开始”菜单的修改等操作,都在该配置单元里进行,而且这些修改都会应用于计算机上的所有用户。
4.HKEY_USERS
这个单元保存的是当前登录用户的默认配置和设置,如桌面、背景、开始菜单程序项、字体等信息。该配置单元的大部分设置都可以通过“控制面板”来修改。
5.HKEY_CURRENT_CONFIG
这里保存的是计算机的当前硬件配置情况,比如显示器、打印机等外部设备及设置信息,你对硬件进行的修改如更改显示器的屏幕刷新频率,都保存在这里。
使用经验:
1. 注意备份
修改注册表前一定要记住备份当前注册表,避免修改错误引起的不必要的损失。那如何备份注册表呢?这里主要有备份注册表的项与备份整个注册表2种备份。目前Windows2000/XP/2003注册表编辑的功能除了一些基础的修改图标、查杀病毒等应用外,很多都能在系统的组策略(以后“菜菜学堂”会教大家用)中实现,所以像更改IE、隐藏控制面板组和磁盘驱动器等高级应用就交给组策略来办,会更安全和稳定。
备份与恢复注册表项:如果你只想保存一个键值或注册表项,比如HKEY_USERS\.DEFA
ULT\Software,定位到该项上,如图2所示,右键点击该项,在菜单上选择“导出”命令,将该项保存为REG文件即可。若要还原导出的注册表子项,只要双击刚才导出的REG文件即可。
备份整个注册表:点击“开始→所有程序→附件→系统工具→备份”,打开“备份或还原向导”,如果启动的是“高级模式”,可以点击“工具→切换到向导模式”打开向导。点击下一步选择“备份文件和设置→让我选择要备份的内容”。
在左边的栏目中展开“我的电脑”,选中“System State”,“System State”包括注册表、“COM+ 类注册数据库”以及电脑的启动文件,最后将选定的“System State”(系统状态)保存起来即大功告成。
如果要还原整个注册表,只要打开“备份或还原向导”,点击下一步选择“还原文件和设置”,根据提示,找到备份的“System State”(系统状态)文件,在“要还原的项目”框中,展开要还原的介质,然后单击系统状态复选框,将其选中,再点击下一步即可还原整个注册表。
病毒、木马以及黑客程序最喜欢入侵的地方就是注册表,通过注册表,它们能实现自动运行、破坏和传播等目的。能举例说明如何在注册表里查找可疑程序并删除它吗?
2. 重点注意的位置
1.HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows是一个高危项。右键点击该项,按“权限”命令,选择所有的用户,将其权限“完全控制”设置为“拒绝”,“应用”后就可以避免一些不必要的病毒加载。
该项的右边窗口有“Load”和“Run”的字符串值,这两个字符串值的键值默认是空白的(图3)。如果你的注册表该字符串的值不为空,那就可能被病毒加载了,这时一定要把值改回默认的。
还有一个“Programs”的字符串值默认数值为“com exe bat pif cmd”。病毒喜欢在这里添加一个特殊的文件类型,比如“病毒.cpw”,可以逃过很多病毒防护软件的扫描。一旦发现这种情况,右键选中“Run”字符串值,将该字符串值删除;双击“Load”和“Programs”,将数值数据改回空即可。
2.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中有许多自动启动的程序。对可疑的程序,直接鼠标右键选中,删除即可。类似“Run”这样的项在注册表中还有几处,均以“Run”开头,分别是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run、项及该项下面的RunOnce、RunOnceEx 、RunServices等,同样需要注意。
3.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,右边的“Shell”字符串值数据值为“Explorer.exe”。很容易被木马等捆绑后随系统一起启动,并且无法查杀。最好的解决办法是双击“Shell”字符串值,把值改为explorer.exe的绝对路径,如“C:\WINDOWS\explorer.exe”。
4.HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager,右边“BootExecute”的多字符串值默认键值为“autocheck autochk *”。此外,还要注意有没有“PendingFileRenameOperations”这个多字符串值,它一般由软件的安装程序自动生成。木马或病毒可以通过“PendingFileRenameOperations”来实现自身的文件改名,再配合前面所说的“BootExecute”多字符串值来自动加载启动。
5.HKEY_CLASSES_ROOT\exefile\shell\open\command,右边“默认”字符串值的数据是““%1” %*”,该数据也容易被更改,解决方法就是将数值数据改回默认值““%1” %*”。
3. 常用功能注册表修改
技巧: 对刚开始电脑学习的人来说,我们不必记下注册表的所有项值。当遇到需要修改注册表解决问题的时候,只要完整地记下下面5个步骤,照着操作就可以完成具体应用。
第一步:上Google、网络等查出要修改的具体项或键的位置,健的键值。
第二步:备份注册表。
第三步:打开注册表编辑器。
第四步:查找并编辑相关项和键值。
第五步:修改完毕后按F5键刷新注册表,验证是否修改成功,完毕。
我是系统管理员,为什么在编辑注册表时,会弹出禁止访问的警告?
如果你在注册表中编辑非当前账户的某些注册表项,系统会弹出禁止访问的警告框。可以登录系统管理员账户,右键点击该项,在弹出菜单上选择“权限”,让自己取得该项的完全控制权限。
Ⅶ 优化注册表结构后电脑死机
关机重新启动试试,不行就直接装系统。
抱去电脑店装机需要30---50元,虽然钱不多但是麻烦,不如用30---50元买个U盘自己装系统,知识也学了机器也装了,主要是方便了,而且自己又落个U盘,呵呵,何乐而不为。
以下是用U盘装机流程,自己看看,学会不求人,而且自己更方便。
U盘装系统:是把U盘装个PE系统后,插在电脑上,可以用主板带动U盘启动,然后做系统用,主要是方便又可以更好的操作。
具体方法:去买个2.0U盘(3.0U盘要有驱动才行,装机会容易失败。),按下边的去做即可自己装系统了。
以下是U盘装机流程: 以大白菜pe或是老毛桃pe为例,都一样。
以下是U盘装机流程: 以大白菜为例
准备未储存文件的空U盘(建议使用8G以上U盘,注意:制作PE系统时会把U盘格式的),下载大白菜U盘装机系统软件,如果自己的电脑可用,就在自己的电脑上把U盘装成PE系统,如果不好用到别的机器上制作成‘大白菜’PE安装软件的U盘,即可开始装机,把U盘插到电脑上后开机。
注意!此处很重要: U盘做好后首先要做的是: 电脑正常时或是到PE桌面时,要 备份电脑上重要文件,(主要有:桌面上的重要文件和我的文档里的重要文件,拷到D盘里。)然后开始执行以下事情:
注意!如果电脑内存是4GB以上,则必须选择64位系统版本,因为32位Win7系统最大只支持4GB内存。
建议你,重装系统前把C盘格式化一下再装系统可解决硬盘有逻辑坏道问题。
1,先把WINXP、 WIN 7或是WIN10镜像下载到硬盘里或是预先做个GHO文件保存在U盘里,然后在除C盘以外的盘或者U盘根目录里新建一个GHO文件夹,也可以在D盘根目录下建一个GHO文件夹,然后把WIN7镜像用UltarISO或者WinRAR解压释放到GHO文件夹中。
注意:切记注意不要在C盘中建GHO文件夹,那样会再安装过程中把GHO文件清掉而安装失败。
2,把启动U盘插在电脑上,然后开机:
如果是新式UEFI BIOS,一般可以直接按F12进入到快捷启动菜单,在菜单中选择U盘名称,即可从U盘启动。
如果是老式BIOS,那必须按Del或F2等进入BIOS,然后在Advanced BIOS Features项目下,或者Boot,或者Startup下,找到First Boot Device或1st Boot Device等,进入后把USB-HDD或U盘名称设为第一启动,
具体方法看主板的说明书,或到网上搜索。
启动U盘后,进入到这个U盘PE界面,选择“运行Windows PE(系统安装)”。
3,进入大白菜PE 或是老毛桃PE桌面后,选择"WIN系统安装器"这个桌面快捷图标,双击运行。
4,弹出NT6快捷安装器,首先就是要找到先前下载解压出来的系统文件,所以按“打开”按钮。
5,打开一个文件选择框,找到先前在D盘建立的GHO文件夹,然后找到其子文件夹Sources,然后再在Sources文件夹下找到install.wim这个文件,这个就是安装文件,选出好后按“打开”按钮。
6,然后选择安装分区,一般会默认为C盘,如果需要安装到其它盘,那就要手动调整,如果是新手,最好不要去调整它,因为系统分区必须是主分区,而且必须是激活的,所以,如果不了解这些,最好不要去碰这个。
7,在这里,弹出安装前最后一个确认窗口,仔细看一看,如果确定都选择好了,就可以点按“确定”,安装开始。
8,这时会将GHO中的系统文件复制到C盘,复制几个G的文件会需要一定时间,请耐心等一等。
9,等复制完成后,弹出提示”请重启动计算机进入安装阶段“,点”是“,电脑马上重启,这时就可以拔出U盘了,如果是UEFI BIOS,会仍从硬盘启动,如果是老式BIOS,就必须进入BIOS中,把从U盘启动改为从硬盘启动。
10,重新从硬盘启动后,进入电脑,就会开始安装系统,如配置开始菜单,注册组件等等,整个安装过程所需要的时间会更长,一定要耐心等待。
注意!未安装完成前禁止强制退出。 有帮助请采纳下,选为满意答案,谢谢!
Ⅷ 注册表是什么如何运行注册表
windows的注册表(registry)实质上是一个庞大的数据库,它存储这下面这些内容:软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;计算机性能纪录和底层的系统状态信息,以及各类其他数据。
一、注册表的结构是:
windows为我们提供了一个注册表编辑器(regedit.exe)的工具,它可以用来查看和维护注册表。由图我们可以看到,注册表编辑器与资源管理器的界面相似。它有六个分支(有的是五个):
hkey-classes-root 文件扩展名与应用的关联及ole信息
hkey-current-user 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器
hkey-local-machine 计算机硬件与应用程序信息
hkey-users 所有登录用户的信息
hkey-current-config 计算机硬件配置信息
hkey-dyn-data 即插即用和系统性能的动态信息
二、注册表修改方法有:
1.软件修改(安全)
通过一些专门的修改工具来修改注册表,比如:magicset、tweakui、winhacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。
2.间接修改(比较安全)
将要修改的写入一个.reg文件中,然后导入注册表中。这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。
3.直接修改(最不安全,但最直接有效)
就是通过注册表编辑器直接的来修改注册表的键值数据项,,但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎,否则会把系统弄瘫。
三、使用方法大致是:
(1)修改键值:开始—运行-输入 regedit --确定,打开注册表编辑器,在左窗格选定你要修改的子键,在右窗格打到要修改的键值项,右击该键值项,按要求修改,修改完毕。
例:以加快开关机修改“HKEY-LOCAL-MACHINE”-“Stem”“CurrentControlSet”-“Control”-将字符串“WaitToKillServceTimeout” 数值数据20000修改为1000。
开始—运行—输入“Regedit”—在打开的注册表编器中后步向下打到“Control”左击打开右窗格,在右窗格打到“WaitToKillServceTimeout”双击打开“编辑字符串”对话框,在“数值数据”框中输入要修改为的数据数值“1000”—确定。
(2)新建子键和键值:右击父键,选“新建→项”,在打开的“新建#1“中输入子键名,确定,右击新建的子键,在右窗格添加新键值项和键值。
例:新建字符串,新建“HKEY-LOCAL-MACHINE”-“Stem”“CurrentControlSet”-“Control”-“HungAppTimeout”的数值数据为“200”。
开始—运行—输入“Regedit”—在打开的注册表编器中后步向下找到“Control”左击打开右窗格,右击右窗格空白处—新建—字符串—在名称中输入名称“HungAppTimeout”,双击该名称打开“编辑字符串”对话框,在“数值数据”框中输入数据数值“200”—确定。
(3)删除子键和键值:开始—运行-输入 regedit --确定,打开注册表编辑器,在左窗格右击你要删除的子键,选“删除”;在右窗格右击你要删除的键值项,选“删除”。
注意,为保险起见,修也注册表前要备分注册表,方法是:在注册表编辑器窗口—文件—导出—选择导出部分还是全部—输入文件名—保存。一旦修改错误 可用“导入”方法恢复。
因为内容太多,三言两语说不清楚,以上仅供参考。
详见:http://www.enet.com.cn/eschool/zhuanti/zhucebiao/
Ⅸ 注册表的知识,越详细越好。最好能说明注册表怎样设置~~~~~
什么是注册表?
从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在 NT中已有此概念)。注册表是Windows 95及Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。
★如何打开注册表?(在修复注册表前请备份)
点“开始”→运行→输入“regedit”→确定
★一、注册表的结构划分及相互关系
WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。
在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。
Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。
注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。
虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。
HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。
实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。
HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。
HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。
根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。
★二、六大根键的作用
在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。
1.HKEY_USERS
该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。
2.HKEY_CURRENT_USER
该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。
3.HKEY_CURRENT_CONFIG
该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。图5为HKEY_CURRENT_CONFIG子关键字之间的连接情况。
4.HKEY_CLASSES_ROOT
根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。
在第一次安装Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)&127;联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]&127;小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。
5.HKEY_LOCAL_MACHINE
该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。
该根键中的许多子键与System.ini文件中设置项类似。图7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。
6.HKEY_DYN_DATA
该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。图8显示了HKEY_DYN_DATA根键下的各个子键的情况。
★三、注册表部分重要内容
注册表是一个大型数据库Registry。要详细地分析该数据库,不是一两页就能介绍完。我曾经用了半年多时间分析此数据库结构。下面只介绍部分重要内容。
(一)HKEY_CLASS_ROOT
1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon双击窗口右侧的默认字符串,在打开的对话框中删除原来的“键值”,输入%1。重新启动后,在“我的电脑”中打开Windows目录,选择“大图标”,然后你看到的Bmp文件的图标再也不是千篇一律的MSPAINT图标了,而是每个Bmp文件的略图(前提是未安装ACDSee等看图软件)。
(二)HKEY_CURRENT_USER
1.HKEY_CURRENT_USER\Control Panel\Desktop 中新建串值名MenuShowDelay=0 可使“开始”菜单中子菜单的弹出速度提高。
2.在HKEY_CURRENT_USER\Control Panel\Deskt-op\WindowsMeterics中新建串值名MinAnimate,值为1启动动画效果开关窗口,值为0取消动画效果。
(三) HKEY_LOCAL_MACHINE
1.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\user shell folders 保存个人文件夹、收藏夹的路径。
2.HKEY_LOCAL_MACHINE\system\currentControl-Set\control\keyboard Layouts 保存键盘使用的语言以及各种中文输入法。
3.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\uninstall 保存已安装的Windows应用程序卸载信息。
4.HKEY_LOCAL_MACHINE\system\CurrentControl-Set\services\class 保存控制面板-增添硬件设备-设备类型目录。
5.HKEY_LOCAL_MACHINE\system\Current-ControlSet\control\update 设置刷新方式。值为00设置为自动刷新,01设置为手工刷新[在资源管理器中按F5]。
6.HKEY_LOCAL_MACHINE\software\microsoft\win-dows\currentVersion\run 保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。在“启动”文件夹程序运行时图标也在任务条右边。
7.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\Policies\Ratings 保存IE4.0中文版“安全”\“分级审查”中设置的口令(数据加密),若遗忘了口令,删除 Ratings 中的数据即可解决问题。
8.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\desktop\nameSpace 保存桌面中特殊的图标,如回收站、收件箱、MS Network等。
(四) HKEY_USERS
1.HKEY_USERS\.Default\software\microsoft\internet explorer\typeURLs保存IE4.0浏览器地址栏中输入的URL地址列表信息。清除文档菜单时将被清空。
2.HKEY_USERS\.Default\so..\mi..\wi..\current-Version\ex..\menuOrder\startMenu保留程序菜单排序信息。
3.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RunMRU保存“开始 \ 运行...”中运行的程序列表信息。清除文档菜单时将被清空。
4.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。
5.HKEY_USERS\.default\software\microsoft\windows\currentVersion\applets 保存Windows应用程序的记录数据。
6.HKEY_USERS\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。
注册表通过键和子键来管理各种信息。但是,注册表中的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器右窗格中,保存的都是键值项数据。这些键值项数据可分为如下三种类型:
1.字符串值
在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成,最大长度不能超过255个字符。在图9所示中,“D:\pwin98\trident”即为键值名“a”的键值,它是一种字符串值类型的。同样地,“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、Ssyt-em.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与INI文件中的设置行完全相同。
2.二进制值
在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来,如图10所示。 在图10中,键值名Wizard的键值“80 00 00 00”就是一个二进制。在如图11所示的“编辑二进制值”对话框时,在编辑框的左边输入十六进制数时,其右边将会显示相应的ASCII码。
3.DWORD值
DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,您将发现系统会以十六进制的方式显示DWORD值,如图12所示。在编辑DWORD数值时,可以选择用十进制还是16进制的方式进行输入
Ⅹ 注册表内容详解
什么是注册表
在windows的开始/运行菜单中输入"regedit"你就可以通过注册表编辑器看到注册表,注册表是什么呢?简单地说,它是用来对windows操作系统进行配置的一个工具.通过它,可以对操作系统及应用软件进行优化,可以自己设置windows的使用权限,可以解决硬件及网络设置不当带来的故障甚至可以改造自己的操作系统.
在windows 3.X时代,主要通过WIN.INI及SYSTEM.INI对windows进行配置,但WIN.INI及SYSTEM.INI文件存在着安全性不高,大小受限制等问题,为了解这一问题MICROSOFT公司在WINDOWS98以后的版本中引入了注册表这一便更好的对windows系统进行配置,这就是为什么我们要使用注册表的原因.
注册表的作用是保存程序所需要的信息,当程序需要这些信息时,就从注册表里读出.因此,注册表最基本的功能就是保存信息.
当了解了注册表的主要功能--保存信息后,再来了解其保存信息后,再来了解保存信息所发挥的作用!
1,记录安装信息;
2,设置硬件属性;
3,定制WINDOWS以及应用软件.
注册表逻辑结构中最基本的是主键,子键,键值项以及键值.它们是按照分组的方式来管理和组织的.首先是最底根键, 每个根键下有若干个子键,每个子键下又可以有若干(一个或多个)子键,子键下可以有一个或多个键值项和键值.
根键:注册表中最底层的键,类似于磁盘上的根目录.
子键:子键位于根键下又可以嵌套其他子键中,在注册表的六大根键中,有若干的子键,而每个子键中又可以嵌套成千上万的子键.
键值项与键值:在每个根键和子键下,可以有若干键值,这种结构类似于磁盘上根目录和子目录里的文件和文件内容.
windows 9x注册表逻辑结构中包含六个根键,每个根键包含着分类不同的信息!在windowsNT/2000/XP中,如果用windows自带的编辑器打开的时候,只能看到五个,还有一个隐藏的根键:HKEY_PERFOR_MANCE_DATA.
*HKEY_CLASS_ROOT
记录windows操作系统中所有数据文件的格式和关联信息,主要记录不同文件的文件名后缀和与之对应的应用程序其下子键可分为两类:一类是已经注册的各类文件的扩展名,这类子键前面都带有一个".";另一类是各类文件类型有关信息.
*HKEY_CURRENT_USER
此根根键包含当前登录用户的用户配置文件信息,这些信息保证不同的用户登录计算机时,使用自己的修改化设置,例如自己定义的墙纸,自己的收件箱,自己的安全访问权限.
*HKEY_LOCAL_MACHINE
此根键包含了当前计算机的配置灵气,包括所安装的硬件以软件设置.这些信息是为所有的用户登录系统服务的.这是事个注册表中最庞大也是最重要的根键!
*HKEY_USERS
HKEY_USERS根键包括默认用户的信息(DEFAULT子键)和所有以前登陆用户的信息.
*HKEY_CURRENT_CONFIG
此根键实际上是HKDY_LOCAL_MACHINE/CONFIG/0001分支下的数据完全一样.
*HKEY_DYN_DATA根键
这个键保存每次系统启动时,创建的系统配置和当前性能信息.这个根键只存在于windows 9X中
*HKEY_PERFORMANCE_DATA
在windowsNT/2000/XP注册表中虽然没有HKEY_DYN_DAT键,但是它却隐藏了一个名为"HKEY_PERFORMANCE_DATA的键.所有系统中的动态信息都是存放在此子键中,系统自带的注册表编辑器无法看到些键.介可以用专门的程序来查看此键,比如使用性能监视器.
什么是注册表一
Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在Win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的.
在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加辅助的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。
早在Dos和Win3.x的时代,大部分的应用程序都是采用了 ini 文件(初始化文件)来保存一些配置信息,如设置路径,环境变量等。system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢?
注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东。注册表是一套控制操作系统外表和如何响应外来事件工作的文件。这些“事件”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施,软件配置等信息,从而方便了管理,增强了系统的稳定性。最直观的一个实例就是,为什么windows下的不同用户可以拥有各自的个性化设置,如不同的墙纸,不同的桌面。这就是通过注册表来实现的。
由此可见,注册表(Registry)是Windows9x/Me/NT/2000操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”;是一个巨大的树状分层的数据库。它记录了用户安装在机器上的软件和每个程序的相互关联关系;它包含了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据等。 ↑
二、注册表都做些什么?
注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Windows NT下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win9x下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win9x 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。
在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持的设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。
注册表控制用户模式的例子有:
★控制面板功能;
★桌面外观和图标;
★网络参数;
★浏览器功能性和特征。 ↑
这些功能中的某些是和用户无关的,有些是针对用户的。
计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。
这里是在注册表中基与计算机控制条目的一些例子:
★存取控制;
★登陆确认;
★文件和打印机共享;
★网卡设置和协议;
★系统性能和虚拟内存设置。
没有了注册表,Win9x和Windows NT 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。
在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Windows NT和Win9x系统管理基本常识。 概括起来,注册表中存放着各种参数,直接控制着 Windows 的启动、硬件驱动程序的装载以及一些 Windows 应用程序的运行,从而在整个系统中起着核心作用。它包括: (1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。 (2)联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。 (3)性能记录和其它底层的系统状态信息,以及其它数据。 如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。学会了注册表的知识以及相关应用,便能使你的电脑操作更加得心应手!从而成为一位名副其实的电脑高手!
三、与注册表有关的术语:
①、注册表:是一个树状分层的数据库(如图1)。从物理上讲,它是System.dat和User.dat两个文件;从逻辑上讲,它是用户在注册表编辑器中看到的配置数据。
②、HKEY :“根键”或“主键”,它的图标与资源管理器中文件夹的图标有点儿相像。Windows98将注册表分为六个部分,并称之为 HKEY_name,它意味着某一键的句柄。(图2)
③、key(键):它包含了附加的文件夹和一个或多个值。
④、subkey(子键):在某一个键(父键)下面出现的键(子键)。
⑤、branch(分支):代表一个特定的子键及其所包含的一切。一个分支可以从每个注册表的顶端开始,但通常用以说明一个键和其所有内容。 ⑥、value entry(值项):带有一个名称和一个值的有序值。每个键都可包含任何数量的值项。每个值项均由三部分组成:名称,数据类型,数据。(如图3)
★ 名称:不包括反斜杠的字符、数字、代表符、空格的任意组合。同一键中不可有相同的名称。
★ 数据类型:包括字符串、二进制、双字三种。
字符串(REG_SZ):顾名思义,一串ASCII码字符。如“Hello World”,是一串文字或词组。在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。注册表总是在引号内显示字符串。 二进制(REG_BINARY):如 F03D990000BC ,是没有长度限制的二进制数值,在注册表编辑器中,二进制数据以十六进制的方式显示出来。
双 字(REG_DWORD):从字面上理解应该是Double Word ,双字节值。由1-8个十六进制数据组成,我们可用以十六进制或十进制的方式来编辑。如 D1234567 。
★ 数据: 值项的具体值,它可以占用到64KB。
⑦、 Default(缺省值):每一个键至少包括一个值项,称为缺省值(Default),它总是一个字串。
四、注册表的内部组织结构及相互关系
计算机配置和缺省用户设置的注册表数据在Windows NT中被保存在下面这五个文件中:DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。而 Windows9x/Me/2000将所有注册表文件存入2个文件中:System.dat和User.dat。它们是二进制文件,不能用文本编辑器查看。它们存在于Windows目录下,具有隐含、系统、只读属性。 System.dat包含了计算机特定的配置数据,User.dat包含了用户特定的数据。User.dat文件的位置在以某个用户名登录时,其位于C:\Windows\profiles\用户名目录下,系统同时在C:\Windows目录下保留了一个缺省的User.dat文件,以备新用户使用。内部组织结构是一个类似于目录管理的树状分层的结构(如图1)。
WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。
在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。
图1左窗格显示的是注册表的根键,这样的根键共六个。这些根键都是大写的,并以HKEY_为前缀,这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。
虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。
实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。
HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。
HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。
根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。
五、六大根键的作用 ↑
注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。关键字可以分为两类:一类是由系统定义,一般叫做“预定义关键字”;另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。 下面我们对系统预定义的六大根键简单地介绍一下。
1.HKEY_USERS
该根键保存了存放在本地计算机口令列表中的用户标识和密码列表,即用户设置。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。其内容取决于计算机是否激活了用户配置文件,若未激活用户配置文件,则可以看到称为.DEFAULT的单一子键,该子键包括和所有用户相关的各种设置,并且和\Windows下的USER.DAT文件相配合。若激活了用户配置文件并且正确地执行了登录,则还有一个“用户名”的子键,该用户名为用户登录的名称。
2.HKEY_CURRENT_USER
该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。HKEY_CURRENT_USER下面有7个子关键字。其中除RemoteAccess”外,其余6个都为系统预定义。
AppEvents 这个子键里登记已注册的各种应用事件。
ControlPanel 它里面涉及到控制面板设置有关的内容。
InstallLocationsMRU windows安装路径的有关信息。
Keyboardlayout 关于键盘设置的信息。
Network 有关网络设置的信息。
RemoteAccess 安装IE 时建立的子关键字,包含该应用程序的有关信息。
Software 软件的有关信息。
3.HKEY_CURRENT_CONFIG
该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。
4.HKEY_CLASSES_ROOT
该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。
在第一次安装Windows 98中文版时,RTF(Rich Text Format)文件与写字板(WordPad)联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。
5.HKEY_LOCAL_MACHINE
注册表的核心,计算机的各种硬件和软件的配置均存在于此。它包括以下八个部分:Config配置、Driver驱动程序、Enum即插即用、Hardware硬件、Network网络、Security安全、Software软件、System系统。每部分中又包括许多子键。该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。该根键中的许多子键与System.ini文件中设置项类似。
6.HKEY_DYN_DATA
该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。