注册表基础知识碧绿碧绿的什么?
注册表是Windows系统的核心,它实际上是一个庞大的数据库,是Windows的数据配置中心,里面存储着大量的软件、硬件及用户信息。通过修改注册表,我们可以对系统功能进行更改、限制、增强、优化等等。注册表的修改一般可以通过多种不同的途径:如注册表编辑器(regedit),专门的修改工具,手写reg注册表文件,控制面板,软硬件的安装与应用,用户的普通操作等。
为了对注册表有一个初步的认识,单击“开始”->“运行”,输入“regedit”,单击“确定”,出现一个类似于Windows资源管理器的“注册表编辑器”程序界面,其整体可分为左右两个窗格,在左侧窗格里列出了几个根键。下面简要介绍一下各根键的作用:
我国的四大盆地 1.HKEY_CLASSES_ROOT
包括所有已注册的文件类型、OLE信息以及更多的内容,它其实就是 HKEY_LOCAL_MACHINE\Software\CLASSES子键的内容(在这里称为“别名”),只是单独把它作为根键列出来以便查阅。
2.HKEY_CURRENT_USER
包含当前登录的用户信息,是HKEY_USERS根键下某一子键的别名。对于Windows 9X,它的名称是
当前用户的名称;对于Windows NT/2000/XP,它的名称是当前用户的安全标识符(SID)。如果系统是Windows 9X而且没有设置多用户的话,则HKEY_CURRENT_USER就是HKEY_USERS中.DEFAULT的别名。
3.HKEY_LOCAL_MACHINE
Windows最重要的根键,包括了计算机软件和硬件的配置数据,这些信息专为计算机本身使用,而不是为登录的某个用户使用。
4.HKEY_USERS
包括了所有登录用户及默认用户的配置数据,默认的用户配置信息存放于HKEY_USERS\.DEFAULT中。
5.HKEY_CURRENT_CONFIG
包含计算机的当前硬件配置信息,在Windows 9X中,它是HKEY_LOCAL_MACHINE\Config\)的别名;在Windows NT/2000/XP中,它是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\)的别名,其中0001、0002对应不同的硬件配置文件。
6.HKEY_DYN_DATA
该根键存放了系统在当前状态的动态信息,Windows每次启动时都会重建它并保存在内存中,而永远不会写入磁盘。注意Windows XP的注册表不存在此根键。
从上面可以看出,注册表实际上只有两个主要根键,HKEY_LOCAL_MACHINE和HKEY_USERS,其余的根键都只是这两个根键的某个分支。
注册表中所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于文件夹的目录结构,每个类似文件夹的项目被称做键(主键,Windows 2000及以后的注册表编辑器把它叫做项),它们可能包含一系列子项目,叫做子键(或子项),子键可以包含更多的子键。另外还有一个常被提到的
分支的概念,它表示一个特定的子键及其所包含的一切。
在注册表编辑器的右侧窗格中,我们可以看到每个键均可包含任何数量的值(也称做键值、值项),每个值均包含三部分:名称、数据和数据类型,数据类型大致可分为三种:
1.字符串(REG_SZ):可以是任何字符,最大长度不能超过255个英文字符。Windows2000及以后的操作系统还提供了另外两种字符串:多字符串(REG_MULTI_SZ)和可扩充字符串(REG_EXPAN
D_SZ)。
2.二进制(REG_BINARY):没有长度限制的二进制数据,在注册表编辑器中,二进制是以十六进制的方式显示出来的。
3.DWORD/双字(REG_DWORD):32 位(4个字节,即双字)长度的二进制数值,注册表以8位16进制数来显示DWORD值,在编辑 DWORD 数值时,可以选择用十进制还是16进制的方式进行输入。
注册表HKEY_CLASSES_ROOT根键的简要分析
在Windows注册表里,HKEY_CLASSES_ROOT是列在第一位的根键,其重要性可想而知,其实它就是HKEY_LOCAL_MACHINE\Software\CLASSES中的全部内容,对HKEY_CLASSES_ROOT的修改其实也就是对HKEY_LOCAL_MACHINE\Software\CLASSES的修改。据说微软把它单独列出来是为了向下与Windows3.x兼容,不过更重要的应该是方便了查阅,使用户能更快的获取信息。
HKEY_CLASSES_ROOT是个非常庞大的数据库,它包括了注册表一半以上的数据,大家可以把HKEY_CLASSES_ROOT单独导出来,再导出整个注册表,对比一下就很清楚了。
HKEY_CLASSES_ROOT大体上包括了已注册的文件类型、OLE信息以及更多的内容,可以粗略地
分为两个部分:A、前面带“.”的键,B、前面不带“.”的键,A部分的键均可以在B部分到相对应的键,下面举一个BMP文件的例子来说明。
BMP文件也就是扩展名为BMP的文件,打开注册表编辑器,到HKEY_CLASSES_ROOT\.bmp,可以看到右边“默认”的值是“ACDSee.BMP”(假定已安装了ACDSEE并与BMP文件关联),然后到HKEY_CLASSES_ROOT\ACDSee.BMP,可以看到里面有多个子键。
“DefaultIcon”子键定义了Windows显示此文件类型的图标,其“默认”的值是“C:\Program Files\ACD Systems\PlugIns\IDE_ACDStd.apl,1”,表示定义BMP文件显示图标的图标文件,最后的“1”表示图标的ID(从0开始计数),因为“IDE_ACDStd.apl”这个文件不只包含一个图标。
“shell”子键定义了BMP文件的打开方式,包含了子键“edit”、“Open”等等,在“shell”子键右边“默认”值中的“Open”就是默认打开文件的方式(通过双击即用这种方式打开),“edit”和“Open”都各有一个子键“command”,其“默认”的值就是用于打开BMP文件的应用程序,这两个项目都会出现在BM
P文件的右键菜单里,若删除“edit”键,则相应右键菜单项也将被删除,也可以另外添加主键,指定更多的程序用来关联打开BMP文件,其右键菜单也会出现相应项目。
还有一个子键“CLSID”,表示它的类标识符(CLSID)名称,每个类标识符的信息都可以在HKEY_C
LASSES_ROOT\CLSID中查。一些类标识符还会定义一个程序标识符(ProgID),它通常都简短易读,大大方便了程序的调用而不必使用冗长而乏味的类标识符。
注册表的一些使用技巧
△不重启使注册表修改生效的方法
Windows 95/98/ME:
按下CTRL+ALT+DELETE, 弹出“关闭程序”对话框,选择“Explorer”,然后单击“结束任务”,显示关闭计算机的画面,单击“取消”,十秒钟后将会弹出一个程序没有响应的对话框,单击“结束任务”,Windows资源管理器将与新的注册表设置一起重新加载。
Windows 2000/XP/2003:
按下Ctrl+Alt+Delete, 然后选择“任务管理器”。选择“进程”标签,选择“”进程,单击“结束进程”,选择“文件->新任务”,然后输入“explorer”,单击“确定”。
注意:并不是所有注册表的修改都能通过这种方法生效,有些需要注销再登录,在HKEY_CURRENT_USER中所做的修改都可以使用前面这两种方法生效,但是在HKEY_LOCAL_MA
CHINE中的一些设置仍然需要重新启动,如在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet中所做的修改。
△reg文件的一些说明和用法
<文件字符串值中路径的斜杠要用双斜杠表示,否则导入将无效,即C:\WINDOWS要表示成"C:\\WINDOWS"。
2.要删除某子键,在reg文件中在键的最前面加上“-”,如:
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp]
3.要删除某键值,在值的等号后面加上“-”,如:
[HKEY_CLASSES_ROOT\lnkfile]
"IsShortcut"=-
△通过inf文件修改注册表
inf文件是Windows的设置信息文件,它一般是用来设置或安装设备驱动、软件配置等信息。更为重要
的是,我们可以在inf文件中设定一些语句达到对注册表的修改。这个方法有时非常有用,例如,如果注册表被锁,reg文件不能使用,那么通过inf文件就很容易解决,下面给出一个inf文件修改注册表的例子:
[Version]
Signature="$CHICAGO$"
[DefaultInstall]
Addreg=Add
Delreg=Del
[Add]
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,regedit,0,""
HKCU,SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer,NoDrives,1,01,00,00,00
HKCU,SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer,NoFileMenu,0x10001,01,00,00,00
[Del]
HKCU,SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,DisableRegistryTools
Addreg定义添加或修改注册表键值的段标题“Add”(名称可以随便
取),同理Delreg定义删除注册表键值的段标题“Del”,注意无论Addreg与Delreg顺序如何,Windows总是先处理Addreg再处理Delreg。
修改注册表的语句格式是:“根键,子键,值名,类型,值”。根键使用缩写HKCR(HKEY_CLASSES_ROOT),HKCU(HKEY_CURRENT_USER),HKLM(HKEY_LOCAL_MACHINE),HKU(HKEY_USERS),HKCC(HKEY_CURRENT_CONFIG);数据类型“0”表示字符串值,“1”表示二进制值,“0x10001”表示DWORD值。
要应用inf文件不是通过双击它(双击只会打开文件编辑),而是右键点击它然后在菜单中选“安装”。
△用reg命令修改Windows XP注册表
Windows XP新增了一个功能非常强大的命令“reg”,通过它可以很方便地对注册表键和键值进行修改
、增加、删除、比较、复制、导入、导出等操作(详情参看Windows“帮助与支持”)。如果注册表编辑器被锁定,可以通过如下运行命令恢复使用:
reg delete hkcu\software\microsoft\windows\currentversion\policies\system /v disableregistrytools /f
△Windows 2000中的regedt32
Windows 2000的regedit相当与Windows 98的regedit,它不能像Windows XP的regedit那样设置注册表项(键)的权限,不能创建多字符串(REG_MULTI_SZ)和可扩充字符串(REG_EXPAND_SZ),也不能通过加载配置单元来修改其他用户的文件。若要使用这些功能,必须使用32位的注册表编辑器:regedt32。另外在Windows XP中,regedit和regedt32已没有任何区别。
△使用注册表编辑器的收藏夹
注册表的分支太多太长,要一个键往往需要连续点击好几个分支,偶尔用用到无所谓,不过对于经常需要修改注册表的人来说,这严重影响了工作的效率。Windows 2000以上的注册表编辑器提供了收藏夹菜单,就像IE的收藏夹那么方便,能够快速定位到所需的子键,操作方法就像IE的收藏夹,选择某个子键添加就行了。
△修改其他用户的配置文件
在Windows XP及其它多用户系统中,不同用户的配置文件是分开存放的。默认情况下,注册表编辑器不会加载其它未登录用户的配置文件,如果要修改其他用户的配置文件,在注册表编辑器中,单击HKEY_USERS根键,然后选择文件菜单下的“加载配置单元”打开“C:\Documents and Settings\用户名”的文件夹,选择NTUSER.DAT文件,然后按“开始”后会弹出对话窗口,在“项名称”框内输入名称。在HKEY_USERS下便多了一个刚才输入项名称的文件夹,这个文件夹便是所需修改的用户配置文件,修改完成后选中刚才输入“项名称”的文件夹,然后选择文件菜单下的“卸载配置单元”即可。
△搜索注册表的技巧
注册表搜索的方式是从上往下的,如果你要搜索整个注册表,先点击选择HKEY_LOCAL_MACHINE根键再开始
搜索,因为前面那两个根键都已经包含在后面的HKEY_LOCAL_MACHINE和HKEY_USERS中了,所以从HKEY_LOCAL_MACHINE开始搜索可以大大节省搜索的时间。燕字组词
△关于Policies\Explorer子键
在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer中所有的
设置都可以应用于HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,后者的优先级比前者要高,而且属于本地计算机设置,所以对所有用户都有效。
△数据类型:二进制与DWORD
二进制:没有长度限制的二进制数值表示16进制。
DWORD(双字):以16进制形式的32位二进制数值(双字),注册表以8位16进制数显示DWORD。
只要数值在DWORD允许的范围之内,二者可以互换,作用是等价的。
在MS-DOS下维护WINDOWS 9X注册表
一、REGEDIT命令
REGEDIT命令不仅仅是一个WINDOWS程序,在MS-DOS下也可以运行使用。虽然功能没有在WINDOWS下那么强大,但有时也很有用处,比如系统出现问题无法进入WINDOWS的时候。首先说明一下,WINDOWS 9X的注册表全部保存在SYSTEM.DAT和USER.DAT这两个文件中,使用REGEDIT命令就是对这两个文件进行操作。以下是REGEDIT的命令行参数:
REGEDIT [/L:SYSTEM] [/R:USER] filename1
REGEDIT [/L:SYSTEM] [/R:USER] /E filename2 [regpath1]
传统纹饰REGEDIT [/L:SYSTEM] [/R:USER] /D regpath2
REGEDIT [/L:SYSTEM] [/R:USER] /C filename3
/L:SYSTEM:指定SYSTEM.DAT文件的位置,不指定则默认在WINDOWS目录
党员个人自我评价/R:USER:指定USER.DAT文件的位置,不指定则默认在WINDOWS目录
filename1:指定导入注册表的文件
/E filename2:指定导出注册表的文件
regpath1:指定导出注册表的分支,不指定则导出整个注册表
/D regpath2:指定删除注册表的分支
/C filename3:指定用来重建注册表的文件
下面通过实例来详细说明各参数的用法:
1.将reg文件导入注册表
把当前目录的文件导入到C:\WINDOWS\SYSTEM.DAT和C:\WINDOWS\Profiles\USER.DAT中,命令如下:
regedit /l:c:\windows\system.dat /r:c:\windows\profiles\user.
注意:reg文件不仅可以是以前导出过的,还可以利用这个命令来编写或修改,再通过上面的方法导入,从而达到手工修改注册表的目的。
2.将注册表导出为reg文件
把保存在C:\WINDOWS\SYSTEM.DAT和C:\WINDOWS\Profiles\USER.DAT中所有HKEY_CURRENT_USER根键下的分支导出到中,命令如下:
regedit /l:c:\windows\system.dat /r:c:\windows\profiles\user.dat / hkey_current_user
3.删除指定的注册表分支
如果我们要将保存在C:\WINDOWS\SYSTEM.DAT和C:\WINDOWS\Profiles\USER.DAT中的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run分支删除,命令如下:
regedit /l:c:\windows\system.dat /r:c:\windows\profiles\user.dat /d hkey_current_user\sof
tware\microsoft\windows\currentversion\run
4.用指定的reg文件重建注册表
如果我们要用文件中的内容重新建立整个注册表,并将其保存到C:\WINDOWS\SYSTEM.DAT和C:\WINDOWS\Profiles\USER.DAT中,命令如下:
regedit /l:c:\windows\system.dat /r:c:\windows\profiles\user.dat /
注意:这是一个危险操作,它将会用指定reg文件的全部内容,重新创建一个注册表,从而删除了以前的注册表。
二、SCANREG命令
SCANREG.EXE是MS-DOS下的WINDOWS注册表检查器,主要用来备份和恢复注册表,其命令格式为:
SCANREG [/<option>]
<option>
BACKUP:备份注册表及相关的系统配置文件
RESTORE:选择一个备份文件来恢复注册表
FIX:修复注册表错误
COMMENT="<comment>":与BACKUP一起使用,用来给备份的CAB文件添加注释
在显示备份的注册表文件时,压缩备份的文件以.CAB文件列出,CAB文件的后面单词是Started或者是NotStarted,Started表示这个文件能够成功启动WINDOWS,是一个完好的备份文件,NotStarted表示文件没有被用来启动WINDOWS,所以不知道是否是一个完好备份。
乒乓混双注册表实用工具介绍
☆RegEditX(Registry Editor Extensions)☆
RegEditX是一款给注册表编辑提供地址栏功能的软件。它提供了与Internet Explorer或资源管理器地
址栏类似的功能,只要把注册表某分支的完整路径复制下来,再粘贴到地址栏上,就可以直接快速的定位到该分支,非常方便!软件安装成功后,在“运行”对话框键入“Regeditx”即可运行。
☆Registry Crawler☆
Registry Crawler作为RegEditX的配套软件,是一个能够快速定位并配置注册表的工具软件。一个强大的搜索引擎允许你基于搜索标准查注册信息。允许你单击超链接显示条目。支持书签功能,可在注册表中的任何键中添加书签并直接从系统托盘读取。此特征允许你访问你经常存取的注册键而无需手工打开注册表编辑器。每天需要操作注册表的用户会发现Registry Crawler是一个节约时间的工具。
☆Registry Workshop☆
一款高级的注册表编辑工具,能够完全替代WIndows系统自带的RegEdit注册表编辑器。除了RegEdit的特性外,Registry Workshop提供许多其他功能提高注册表编辑操作效率:能够剪切,复制和粘贴注册项和键值名,还可以进行撤销和重做操作;能够快速地查和替换所需注册项,键值名和字符串;允许编辑注册表文件(reg文件)像编辑注册表一样,显示直观的树状结构;并且提供方便灵活的收藏夹功能。
☆Reg Organizer☆
功能非常强大的注册表综合管理工具。主要功能有:
编辑注册表:拥有与RegEditX同样的地址栏功能,也提供收藏夹功能。键与键值的排列顺序可以选择按字
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论