注册表详解未看.docx
《注册表详解未看.docx》由会员分享,可在线阅读,更多相关《注册表详解未看.docx(17页珍藏版)》请在冰点文库上搜索。
![注册表详解未看.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/ddba4f0b-1fbb-4a05-ba7d-d26e10229375/ddba4f0b-1fbb-4a05-ba7d-d26e102293751.gif)
注册表详解未看
注册表详解
注册表的结构
在Windows95以上版本中,注册标由两个文件组成:
System.dat和User.dat,保存在Windows
所在文件夹中。
前者包含硬件和软件的设置,而后者包含与用户有关的信息。
要对注册表进行编辑不能使用一般的文本处理软件,在Windows中提供了一个注册表编辑的程序Regedit来查看和维护注册表。
启动Regedit后,您可以看到一个类似于资源管理器的界面。
在左边的窗格"我的电脑下"有六个分支(称为主键)。
每一个主键保存着该计算机中软硬件设置的某一方面的信息或数据。
下表中列出了个主键的简要说明:
主键说明
HKEY_CLASSES_ROOT包含文件扩展名和文件类型,其中也包括了从Win.ini
文件中引入的扩展名的数据;还包括诸如我的电脑、回收站、控制面板等的类标识。
此主键的数据适用于所有用户。
HKEY_CURRENT_USER保存有当前登录的用户的配置信息,如控制面板选项。
HKEY_LOCAL_MACHINE包含本机上所有软硬件的信息,此主键的数据适用于所有用户。
HKEY_USERS保存着所有登录到此机上的用户的信息。
既包括通用设置(如应用程序事件),也包括特定用户的设置(如桌面)。
HKEY_CURRENT_CONFIG包含所有连结到此机上的硬件的配置数据,如打印机和显示器的配置数据
HKEY_DYN_DATA指向HKEY_LOCAL_MACHINE的一个分支,它包括诸如系统性能和既插既用的动态信息
注册表中主键的功能
●HKEY_CLASSES_ROOT关键字
该关键字由多个子关键字组成,具体可分为两种:
一种是已经注册的各类文件的扩展名,一种是各种文件类型的有关信息。
图1左窗格中的子关键字就是各种已经注册的文件扩展名。
注册表内登录的文件扩展名中,一部分是系统约定的扩展名,另一部分是由应用程序自定义的扩展名。
应用程序只有把自定义的扩展名登录到注册表中,系统才能识别和关联使用有关的文档,即只有经过注册的扩展名,系统才能自动关联。
当选中某个扩展名关键字时,在窗口的右窗格中将显示出有关的键值。
例如在图1里选中“.avi
”时,从其键值可以看出,对该扩展名将默认为动画文件(avifile)。
在HKEY_CLASSES_ROOT
关键字中也包含了该类型文件的详细信息。
仍然以avifile文件为例,移动滚动条可以找到子关键字“AVIFile”,
选中AVIFile可以看到其键值默认为“视频剪辑”,表示可以对.avi文件进行编辑、播放等操作。
单击AVIFile左边的“+”号,可以看到如图2所示的树型子关键字。
第一个子关键字是“CLSID”,即“分类标识”,在选中它时可以看到其默认的键值,如图3所示。
系统可用这个标识号来识别相同类型的文件。
在
HKEY_CLASSES_ROOT主关键字下也有一个子关键字“CLSID”,其中包含了所有注册文件的类标识。
因此也可以通过类标识来查找相关文件的各种信息。
图4即是通过类标识查找AVIFILE文件的例子。
可以看到在该标识字下面还有10个子关键字,它们的键值也同样表示了AVIFILE文件的有关信息。
下面我们把AVIFile的全部子关键字展开,来看看它包含了哪些有关的信息。
展开全部子关键字后的窗口如图5所示。
“Compressors”(压缩程序)下面的两个子关键字“auds”和“vids”分别给出了音频和视频数据压缩程序的类标识,通过这些类标识可以找到相应的处理程序。
“DefaultIcon”的键值为:
“c:
\pwin95\mplayer.exe,3”,表示文件的默认图标是mplayer.exe文件中提供的第3号图标。
把“DefaultIcon”的键值改为:
“c:
\pwin95\mplayer.exe,4”,则采用图6中的第4号图标作为.avi文件的图标。
“Extensions”的作用是通过文件扩展名识别数据文件。
它的3个子关键字中,AVI表示AVI文件,AV和WAV表示音频文件。
“Insertable”是插入表。
“protocol”包含了执行程序和编辑程序的路径和文件名。
打开“StdExecute”(标准执行程序)下面的子关键字“Server”,可看到键值为:
“c:
\pwin95\mplayer.exe/avi”,即指定了执行程序的路径和文件名。
打开“StdFileEditing”(标准文件编辑程序)下面的子关键字“Server”,可看到键值仍然为:
“c:
\pwin95\mplayer.exe/avi”,即编辑程序的路径和文件名。
“verb”下面的3个子关键字0、1、2键值表示程序的工作状态,分别为“播放”、“编辑”和“打开”。
“RIFFHandlers”表示相关文件句柄,包含了AVI和WAVE文件的类标识。
“shell”包含了执行“打开”和“播放”命令的程序路径和文件名。
它们在各自的“command”中列出的键值分别为“c:
\pwin95\mplayer.exe
%1”和“c:
\pwin95\mplayer.exe/play/close%1”。
“shellex”中包含了“多媒体文件属性表”(AviPage)的文件句柄。
下面我们再结合修改快捷方式图标来说明如何使用注册表修改显示信息。
打开注册表编辑器,在HKEY_CLASSES_ROOT关键字下滚屏找到与快捷方式有关的子关键字“lnkfile”并选中它。
如图7所示。
键名“IsShortcut”表示在桌面的快捷方式图标的左下角标注一个向上的小箭头,即
,如果你不喜欢这个小箭头,可以采用下面的方法删除它:
选中“IsShortcut”,然后打开“编辑”菜单,单击“删除”命令,将该项删除。
关闭注册表并重启Win95,你将发现快捷方式图标上已经没有小箭头了
。
键名“NeverShowExt”表示在快捷方式图标下不显示文件扩展名。
如果你希望显示扩展名,可以采用下面的方法把该键名改为“AlwayShowExt”:
单击“NeverShowExt”,打开“编辑”菜单,单击“重命名”命令,输入新名。
关闭注册表并重启Win95。
你会发现快捷方式图标上已经加上扩展名了。
HKEY_CURRENT_USER关键字
HKEY_CURRENT_USER下面有7个子关键字。
其中除“RemoteAccess”外,其余6个都为系统预定义。
AppEvents登录已注册的各种应用事件
ControlPanel与控制面板设置有关的内容
InstallLocationsMRU安装路径的有关信息
keyboardlayout键盘设置信息
Network网络设置信息
RemoteAccess此项是安装IE4.0建立的子关键字,包含该应用程序的有关信息Software软件的有关信息
1.AppEvents子关键字
AppEvents子关键字包含了各种应用事件的列表。
其下面又包含两个子关键字EventLabels(按字母顺序列表)和Schemes(按事件分类列表)。
从图9可以看出,Schemes是按照应用(Apps)和命名(Name)对事件进行分类的。
在本系统中,Apps共分为
Default(缺省)、Explorer(资源管理器)、Mplayer(媒体播放器)和Norton
Navigator(笔者安装的应用程序);Name一般情况下均采用Windows缺省值。
在“控制面板”中打开“声音”对话框,你可以看到这些事件的中文列表,其内容与按照应用(Apps)来对事件分类的列表是一一对应的。
2.ControlPanel子关键字
该子关键字所包含的内容与桌面、光标、键盘和鼠标等设置有关。
改变它们的键值就将改变对应的工作环境或参数。
图10为ControlPanel的结构。
在图10中可以看到,Control
Panel下面又有8个子关键字。
根据系统配置和设置情况的不同,子关键字的数目也会不同。
例如有的系统中没有“Mouse”关键字,并不是表示计算机中没有安装鼠标,而是指你从来没有对鼠标作过任何设置,系统完全采用默认值。
虽然Control
Panel中的键值与环境和特性有直接关系,但很多参数的改变并不要求用户通过修改注册表来实现,而只需通过“控制面板”即可进行修改。
也有一些环境特性的改变只能通过修改注册表来实现,例如,改变菜单的弹出延迟时间。
在Win95中,系统默认的菜单弹出延迟时间为400ms(随机器的性能不同,实际感觉到的延时可能有一定误差)。
如要改变其缺省值,可在注册表编辑器的\
HKEY_CURRENT_USER\Control
Panel\desktop中增加一个键值名“MenuShowDelay”,通过改变其键值来改变菜单显示延时(如图10所示),键值的设定范围为0~1000(ms)。
Accessibility
这个子关键字包含了如图11所示的10个子关键字,多数子关键字在“控制面板”中都有对应的项。
这些子关键字的键值名中一般都有一个“On”,当键值为0时,表示设置无效;键值为1时,表示设置生效。
Appearance
这个子关键字的键值中列出了可供选择的各种颜色和图案。
可以在“控制面板”的“显示/外观”对话框的“方案”下拉菜单中,看到这些颜色和图案的中文名称。
cursors
这个子关键字的键值中列出了光标图案所在的文件路径。
可以在“控制面板”的“鼠标/指针”对话框的“方案”下拉菜单中,看到这些颜色和图案的中文名称并进行设置。
desktop
这个子关键字的键值中列出了桌面和窗口中的各种部件,如:
窗口边界、标题、图标、菜单、滚动条、消息框的长度、宽度和字体等数据。
这些数据可以在“控制面板”的“显示/外观”对话框的“项目”下拉菜单中进行修改。
下面再举一个只能通过修改注册表来实现的例子。
系统缺省设置,窗口在最小化和还原(或最大化)之间切换时,有一个平滑的变化过程(动画效果)。
要取消这个动画效果,可以在\HKEY_CURRENT_USER\
ControlPanel\desktop\windowmetrics中增加一个键值名“MinAnimat”,其键值设置为0即可。
注:
为0为取消动画效果,非0则保留动画效果。
InputMethod
这个子关键字的键值中登录了“输入方法”转换热键的有关数据。
这些数据你可以在“控制面板”中打开“输入法”对话框中的“热键”标签进行修改。
International
这个子关键字的键值中登录了表示“上午”和“下午”的数据。
这些数据可以在“控制面板”中打开“区域设置”对话框中的“时间”标签进行修改。
keyboard
这个子关键字的键值中登录了击键时的重复延时和重复速率。
这些数据可以在“控制面板”中打开“键盘”对话框中的“速度”标签进行修改。
Mouse
这个子关键字的键值中登录了鼠标的双击速度和指针的移动速度。
这些数据可以在“控制面板”中打开“鼠标”对话框中的“按钮”和“移动”标签进行修改。
上面以AppEvents和Control
Panel这两个子关键字为例作了比较详细的讨论,限于篇幅,对其他子关键字就不再详细介绍了。
读者可以按照前面所列出的子关键字的基本内容自己进行分析。
●HKEY_LOCAL_MACHINE关键字
图12中,HKEY_LOCAL_MACHINE下面的子关键字有8个。
其中“.mp2”是安装播放软件“XING
MPEG”后定义的关键字,其余的是系统预定义关键字。
下面我们先对预定义关键字作简单介绍。
Config
包含了有关显示字体、分辨率、显示点距、颜色深度以及打印机型号等信息。
Enum
包含了系统当前配置的所有硬件设备的信息。
hardware
包含了系统使用的浮点处理器、串口等有关信息。
Network
包含了网络的有关信息。
Security
包含了安全设置的信息。
SOFTWARE
包含了系统软件、当前安装的应用软件及用户的有关信息。
System
包含了系统的全部软件和硬件信息。
对于HKEY_LOCAL_MACHINE关键字,有两点应该说明:
1.根据计算机中硬件配置和安装文件的不同,在HKEY_LOCAL_MACHINE中的信息将有很大的差别(在其他的关键字中也会反应出这种差别)。
2.HKEY_LOCAL_MACHINE下面各个子关键字中包含的信息有很多是重复的,这样做的目的,只是为了浏览和编辑的方便。
当然在注册表数据库中是不会重复的。
●其他主关键字
上面我们介绍了3个主关键字的基本内容。
其余的主关键字中,Hkey_User和Hkey_Current_User类似,Hkey_Current_Config和Hkey_Local_Machine类似,Hkey_DYN_DATA
的内容比较简单,只包含了系统运行中的动态数据,即系统硬件的当前状态和那些需要更新和检索的数据。
限于篇幅,本文不再详细介绍,有兴趣的读者可自行分析。
如何恢复注册表
单击“开始”,再单击关闭系统;
单击“重新启动计算机并切换到MS-DOS方式”,然后单击“是”;
在MS-DOS方式下直接输入SCANREG/RESTORE后回车;
选择一个您要恢复到的日期。
按照上述步骤您就可以将系统恢复到选定日期下的状态。
如何添加主键
打开注册表编辑器,找到要添加主键的文件夹;
单击右键,选择"新建"/"主键";
新建的主键以一个临时名称命名,为新建的主键输入一个名字,然后回车即可
如何添加键值
打开注册表编辑器,找到要添加键值的文件夹;
单击右键,选择"新建",以及要建立的键值类型;
新建的键值以一个临时名称命名,为新建的键值输入一个名字,然后回车即可
■显示更多的CPU信息
运行Regedit.exe
依次打开HKEY_LOCAL_MACHINE\Hardware\Description\System\CentralProcessor\0
双击VendorIdentifier,将GenuineIntel改为GenuineIntel
只适用于IntelCPU
■禁用开始菜单的“关闭系统”命令
运行Regedit.exe
依次打开
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER
在右边的窗口中单击鼠标右键,选择添加DWORD键值
命名为NOCLOSE
修改键值为0时无效,1有效
■关闭Windows的AutoRun功能
运行Regedit.exe
依次打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\
Policies\Explorer
在右边的窗口中单击鼠标右键,选择添加二进制键值
命名为NoDriveTypeAutoRun,修改键值为b5000000
■缩短应用程序出错时试图等待响应的时间
打开Regedit;
打开HKEY_CURRENT_USER中的ControlPanel的Desktop;
单击右键选择新建字符串值;
将新建的字符串值命名为:
HungAppTimeout;
将其值修改为3000毫秒(默认为5000毫秒)
■排列输入法顺序
运行Regedit
打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Keyboardlayout
,您可看到一长串的主键,以E开头的主键就是输入法,记住各主键代表的输入法。
打开HKEY_USERS\.DEFAULT\Keyboardlayout\preload,可以看到有名为1、2、3……的几个主键,主键1
是英文,即默认为英文。
例如:
您想在按下Ctrl+空格时调用的是五笔字型那么将主键名为2的主键打开,双击“默认”将它的值改为E0200804。
重新启动计算机。
■输入汉字时自动插入空格
运行Regedit
依次打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
查找您想要使它具有插空格功能的输入法(如:
全拼)
展开这个主键,将插空格的值改为1
■改变“收藏夹”的路径
运行Regedit.exe;
依次打开:
打开HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVerion
/Explorer;
展开UserShellFolders主键
您可以看到Cache、Cookies、Favorites、History、Personal五个字串形键值
右键单击Favorites选择“修改”,将键值改为您想要的目录即可
同样您还可以将其他的(如:
我的文档-Personal)改到相应的目录
■隐藏驱动器
打开注册表编辑器
打开HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVerion/Policies
/Explorer;
新建一个字符串值NoDrives,缺省直为:
00000000
修改键值,第一个字节代表从A到H的八个盘,即01为A;02为B;04为C...,第二个字节代表从I到P,第三个字节代表从Q到
X,第四个字节代表从Y到Z。
例如:
要隐藏C盘,将键值改成:
04000000,要隐藏D盘,将键值改成:
08000000
■从“开始菜单中删除“注销到”
运行Regedit.exe
依次打开
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER
添加DWORD键值,命名为NOLOGOFF
键值为0=无效;1=有效
■从“开始”/“设置”菜单中删除“任务栏和开始菜单”命令(WINDOWS9X&WINNT)
运行Regedit.exe
依次打开
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER
添加DWORD键值,命名为NOSETTASKBAR
键值为0=无效;1=有效
■从“开始”/“设置”菜单中删除“任务栏”以外的其它菜单项(WINDOWS9X&WINNT)
运行Regedit.exe
依次打开
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER
添加DWORD键值,命名为NOSETFOLDERS
键值为0=无效;1=有效
■缩短开始菜单显示时间
打开Regedit
选择"HKEY_CURRENT_USER"主键并打开其中的ControlPanel;
选择Desktop选项,然后新建一个串值;
为这个串值命名为MenuShowDalay;
将这个串值赋值为1-10的整数,其中1为最快;
重新启动计算机
■减少右键菜单中“新建”的选项
打开注册表编辑器,查找“Shellnew”,将不常用的文件类型删除即可。
■隐藏“开始”菜单项
打开注册表编辑器
打开HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVerion/Policies
/Explorer;
新建一个DWORD值NoRecentDocsHistroy,修改键值为0x00000001,则“文档”中的内容不再改变
新建一个DWORD值NoRecentDocsMenu,修改键值为0x00000001,则隐藏“文档”菜单
新建一个DWORD值NoRun,修改键值为0x00000001,则隐藏“运行”菜单
新建一个DWORD值NoFavoritesMenu,修改键值为0x00000001,则隐藏“收藏夹”菜单
■修改文件的鼠标右键弹出菜单
运行注册表编辑器(regedit.exe),打开“我的电脑\HKEY_CLASSES_ROOT\*\shellex\
ContextMenuHandler”分支。
该分支下有两个主键HexWorkshopContextMenu和Winzip(笔者的电脑中装有Winzip和HexWorkshop),删去后即可发现原来文件的弹出菜单上的Hex
edit和AddtoZip两项不见了。
当要在弹出菜单中添加一些可执行文件时(以notepad为例),可进行如下操作:
在“我的电脑\HKEY_CLASSES_ROOT\*”下新建一个名为shell的主键。
在“shell”下新建名为aaa(aaa即是显示于弹出菜单中的文字,这里假设用“用笔记本打开”代替)的主键。
在aaa下新建名为command的主键,修改其右默认的键值为“c:
\windows\notepad.exe
%1”(%1表示该文件不带参数,而只运行笔记本程序)即可。
需再添加新的菜单项重复步骤2、3即可。
■驱动器弹出菜单的修改
运行注册表编辑器
打开“我的电脑\HKEY_CLASSES_ROOT\DRIVE”,其下有三个主键DefaultIcon、shell和shellex。
打开shell可以看见find和BrowsewithACDSee(笔者的机器上装有ACDSee),这也是显示在弹出菜单上的文字,如将Browsewith
ACDSee改为别的名字,如“用ACDSee浏览”时,则英文变成汉语“用ACDSee浏览”。
添加菜单项同样需要在shell下添加新主键,删除菜单项则只要删除对应的主键,如删HexWorkshop,则删去shellex下的ContextMenuHandlers主键下的HexWorkshopContextMenu主键即可。
■文件夹弹出菜单的修改
文件夹弹出菜单的修改比较复杂,涉及两个主键Directory和Folder(同样位于“我的电脑\HKEY_
CLASSES_ROOT\”下)的修改。
其中修改Folder主键后对驱动器弹出菜单也有影响(修改Drive主键不会影响其他),如在Folder\Shell主键下添加新主键(设名为aaaa),则同时会在驱动器和文件夹弹出菜单中出现aaaa这一项,删除也同样会对两者产生影响,如删除Folder\Shell下的explore和open主键,两者弹出菜单的资源管理器和打开两项就会消失。
要删除驱动器弹出菜单的winzip项,则删去Folder\Shellex\Context
MenuHandlers下的winzip主键即可。
而删除文件夹弹出菜单的winzip项,还要删去Directory\Shellex
\ContextMenuHandlers下的winzip主键。
只对文件夹弹出菜单进行增删,需对Directory操作就行了(操作主