Windows注册表详解.docx
《Windows注册表详解.docx》由会员分享,可在线阅读,更多相关《Windows注册表详解.docx(15页珍藏版)》请在冰点文库上搜索。
![Windows注册表详解.docx](https://file1.bingdoc.com/fileroot1/2023-7/27/17069779-0faa-4776-8043-669e4d9e92c3/17069779-0faa-4776-8043-669e4d9e92c31.gif)
Windows注册表详解
Windows注册表详解
作者:
骆诚
在Windows文件夹中有system.dat和user.dat这样两个隐藏文件,其中保存了至关重要的注册表信息。
我们可以通过运行regedit.exe来修改windows的设置,达到其他方法不能达到的效果,使Windows更如你意。
本说明书的内容以Win98第一版为准,但多数也是适用于Win95、Win95osr2、Win98se甚至Win2000的。
一、注册表根键说明
hkey_classes_root包含注册的所有OLE信息和文档类型,是从hkey_local_machine\software\classes复制的。
hkey_current_user包含登录的用户配置信息,是从hkey_users\当前用户子树复制的。
hkey_local_machine包含本机的配置信息。
其中config子树是显示器打印机信息;enum子树是即插即用设备信息;system子树是设备驱动程序和服务参数的控制集合;software子树是应用程序专用设置。
hkey_users所有登录用户信息。
hkey_current_config包含常被用户改变的部分硬件软件配置,如字体设置、显示器类型、打印机设置等。
是从hkey_local_machine\config复制的。
hkey_dyn_data包含现在计算机内存中保存的系统信息。
二、注册表详细内容
Hkey_local_machine\software\microsoft\windows\currentVersion\explorer\usershellfolders保存个人文件夹、收藏夹的路径
Hkey_local_machine\system\currentControlSet\control\keyboardLayouts保存键盘使用的语言以及各种中文输入法
Hkey_users\.Default\software\microsoft\internetexplorer\typeURLs保存IE浏览器地址栏中输入的URL地址列表信息。
清除文档菜单时将被清空。
Hkey_users\.Default\so..\mi..\wi..\currentVersion\ex..\menuOrder\startMenu保留程序菜单排序信息
Hkey_users\.Default\so..\microsoft\windows\currentVersion\explorer\RunMRU保存“开始*运行...“中运行的程序列表信息。
清除文档菜单时将被清空。
Hkey_users\.Default\so..\microsoft\windows\currentVersion\explorer\ecentDocs保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。
Hkey_local_machine\software\microsoft\windows\currentVersion\uninstall保存已安装的Windows应用程序卸载信息。
hkey_users\.default\software\microsoft\windows\currentVersion\applets保存Windows应用程序的纪录数据。
Hkey_local_machine\system\CurrentControlSet\services\class保存控制面板-增添硬件设备-设备类型目录。
Hkey_local_machine\system\CurrentControlSet\control\update立即刷新设置。
值为00设置为自动刷新,01设置为手工刷新[在资源管理器中按F5刷新]。
HKEY_CURRENT_USER\ControlPanel\Desktop新建串值名MenuShowDelay=0可使“开始”菜单中子菜单的弹出速度提高。
新建串值名MinAnimate,值为1启动动画效果开关窗口,值为0取消动画效果。
Hkey_local_machine\software\microsoft\windows\currentVersion\run保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。
[启动文件夹程序运行时图标也在任务条右边]
hkey_users\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。
HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon默认图片的图标。
双击窗口右侧的字符串,在打开的对话框中删除原来的键值,输入%1。
重新启动后,在“我的电脑”中打开Windows目录,选择“大图标“,然后你看到的Bmp文件的图标再也不是千篇一律的画板图标了,而是每个Bmp文件的略图。
Hkey-local-machine\software\microsoft\windows\currentVersion\Policies\Ratings保存IE4.0中文版“安全”*“分级审查”中设置的口令(数据加密)。
Hkey-local-machine\software\microsoft\windows\currentVersion\explorer\desktop\nameSpace保存桌面中特殊的图标,如回收站、收件箱、MSNetwork等。
三、怎样存取注册表信息
可以通过VB5.0提供的两个语句和两个函数在程序中读写注册表。
1、SaveSetting语句
语法.SaveSettingappname,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”
四、注册表的备份
Windows每次启动都会自动对注册表进行备份。
放在windows\sysbckup里的rb00X.cab文件里,出注册表出现问题,在DOS下用extract/e展开,拷贝回去就可以了。
Windows注册表应用的30个实例
作者:
骆诚
1.防止匿名用户登录
虽然Windows可以为每个用户定制各自的使用界面并指定口令,但任何人都能通过点击登录窗口中的“取消”或按ESC键进入系统,即所谓匿名登录。
下述方法可以防止匿名用户登录.在HKEY_LOCAL_MACHINE\NetWork\Logon下新建DWORD类型“MustBeValidated”,其值为1。
(附:
如果自己都进不去了,可以以安全模式进入,然后将其值改为0。
)注意:
在对等网络下该方法不起作用。
2.重排输入法
您可以将所有输入法按自已的需要重新排序,比如把最常用的五笔输入法放在最前。
依次展开HKEY_CURRENT_USER\Keyboardlayout\Preload,在其下可以见到键名从数字1开始依次递增的多个子键名称,具体子键个数与系统已安装的输入法种数相一一对应。
现假如要将子键名为“2”所对应的输入法与子键名为“5”所对应的输入法互换,即将子键名“5”所对应的输入法前移至第二位,方法如下.右击子键“2”选“重命名”将子键“2”改名为“22”或其它不存在之名称,接着将子键“5”重命名为“2”,最后将子键“22”改名为“5”。
3.屏蔽开始菜单功能
您可以将所有输入法按自已的需要重新排序。
在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer中新建三个DWORD值,名称分别为“NoRun”(屏蔽“运行”)、“NoFind”(屏蔽“查找“)、“NoClose“(屏蔽“关闭系统“),其值均设置为1,重启系统后执行“运行”与“关闭系统”命令时提示操作受限制而取消,同时你会发现“开始”菜单中的“查找”选项没有了,要重新恢复其设置,可将对应的键删除或将键值置0即可。
4.隐藏桌面所有图标
找到子键HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建DWORD值“NoDesktop”,其值为1。
重启系统后,你会发现桌面已变得空荡荡一片。
5.快速打开文件编辑
也许你经常使用某个程序来打开文件进行编辑,而这些文件的扩展名是随意的,为了方便我们可以将这个程序加入到右键菜单中去。
以写字板为例,在HKEY_CLASSES_ROOT\*下新建“shell“子键,在其下新建“wordpad“子键,双击该键右面窗口的“默认”处并在“键值”栏内输入“写字板”,接着在“wordpad”子键下建立下一级子键“command”,在“默认”的“键值“栏内输入“c:
\programfiles\accessories\wordpad.exe%1”。
不用重启系统,现在回到“我的电脑“或“资源管理器”中右键单击任意文件(当然是写字板能加载的,不管关联与否),选“写字板”即可快速打开文件进行编辑了。
6.清除运行程序记录
在“开始/运行”的“打开“窗口下拉菜单中保存了过去运行的记录,我们可以直接在注册表编辑器中删除它:
在HKEY_USER\.Default\Software\Microsoft\Windows\CurrentVersion\Exploer\RunMRU的右窗口中保存着这些操作,删掉不需要的串值即可。
7.无法卸掉的程序
我们有时会碰到这样的情况.在控制面板的“添加/删除应用程序”中卸载某个应用程序之后,却发现该程序还是在列表中。
这时可用下述方法将其从列表中删去.打开注册表编辑器,进入目录“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”,根据所列出的注册文件删去与该应用对应的项即可。
8.把Word插入对象名称改成汉字
在WORD菜单插入/对象中的一个个英文名称往往令人难以适应,我们可以用个简单的方法把它改成汉字.在注册表编辑器中,将HKEY_CLASSES_ROOT\Eqation3.0右窗口键的“默认“值由“MicrosoftEquation3.0”改为“公式编辑器3.0”
9.提高资源管理器刷新的速度
当用户在“Windows资源管理器”中增加或者删除了一个文件夹后,虽可通过按F5键查看最新刷新的结果。
但是,每次这样做势必十分麻烦。
其实通过修改注册表可以使这种刷新达到完全自动化。
具体方法是:
打开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Update分支,在Update子键中包含一个UpdateMode键值名,其键值为01,双击UpdateMode,将01改为00即可。
10.更改IE的安全口令
您可以在IE的“Internet选项”对话框的“内容”选项页的“分级审查”框中设置口令,这样,在显示有ActiveX的页面时,总会出现“分级审查不允许查看”的提示信息,然后弹出口令对话框,要求您输入监护人口令。
如果口令不对,则将停止浏览。
但是,如果此口令遗忘了,则无法浏览这些特征的页面。
在口令遗忘后,重装IE也无法去掉安全口令。
这时只有求助于注册表了:
打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies分支,在Policies子键下选择“Ratings”子键,按Del键将其删除,由于Ratings子键下的Key键值数据就是经过加密后的口令,删除了这一项,IE4.0自然就认为您没有设置口令了。
11.删除开始菜单中的文档项
我们知道,“开始”菜单中的“文档”菜单项记录了所有曾打开的文档。
但是,在多人使用的机器中,为了保密起见,用户自己很不希望其他用户看到自己曾经编辑过的文档或其他信息。
我们可以通过修改注册表编辑器来删除它们.打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右窗格中,用鼠标右击任意空白区域,然后从快捷菜单中选择“新建”中的“二进制值”,将“NewValue#1“换名为“NoRecentDocsHistory”,接着右击“NoRecentDocsHistory”项,选择从快捷菜单中选择“修改”,然后在“键值”框中,键入“1”,最后单击“确定”按钮。
在重启系统后,您会看到不仅“开始”菜单中的“文档”菜单项被删除掉了,而且用来存放“文档”菜单项内容的C:
\Windows\Recent目录也被删除掉了。
12.改变时间显示格式
在通常情况下,Windows在任务栏中使用“23:
12”的时间格式来显示时间,但是您可以通过修改注册表编辑器来更改此时间格式,其操作步骤如下.
打开HKEY_CURRENT_USER\ControlPanel\International分支,在右窗格的空白处右击鼠标,从弹出的快捷菜单中选择“字符串值”,然后将“NewValue#1”修改为“sTimeFormat”。
双击“sTimeFormat”项,然后在如图16所示的对话框中将其“键值”修改为“HHmm“。
重启计算机后,则您将看到在任务栏中显示的时间会显示为“2312”形式了。
13.改变Word文档的日期显示
当我们在Word文档中插入日期页眉或者页脚时,其日期的显示格式一般为.MM/DD/YY。
但是,这不符合中国用户的显示习惯。
我们希望将12/09/98改为1998/9/12,则通过修改注册表可以改变这种日期的显示方式,其操作步骤如下.
打开HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options在右窗口中,用鼠标右击任意空白区域,然后从快捷菜单中选择“新建”中的“字符串值”,接着将“NewValue#1”换名为“DateFormat”。
然后右击“DateFormat“项,选择从快捷菜单中选择“修改”,然后在“键值”框中,键入“yyyy.MM.DD“,最后单击“确定”。
这样,在下次在Word中插入日期时,一定就是您所希望的“1998.09.12”的格式了。
14.删除查找结果中的文件列表。
使用“查找“功能可以很快地查找到所需要的文件,同时在“查找”对话框下半部给出文件列表。
想删除它们可打开HKEY_CURRENT_USER\.Default\SoftWare\Microsoft\Windows\CurrentVersion\Explorer\DocFindSpecMRU,在右窗格中除第一、二和最后一个不能删除外,将其它删除即可。
15.在“我的电脑“中屏蔽磁盘图标
在多用户的操作环境中,您可以为不同用户设置不同的磁盘驱动器图标,这样可以限制各种用户的操作权限。
打开HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer分支,在此分支下NoDrives键值名为给不同用户设置不同的磁盘驱动器图标提供了方便,其缺省键值是0x00000000。
NoDrives键值为四个字节,每个字节的每一位就对应于一个盘符(A.~Z.),即第一个字节代表了从A.到H.的八个盘,即01为A.、02为B.、04为C.…,80为H.。
依此类推,第二个字节代表I.到P.;第三个字节代表Q.到X.;第四个字节代表Y.和Z.。
因此,当相应位为1时,则在打开“我的电脑”,就再也看不到对应的盘了。
例如,我们要关闭C.盘,只需右击NoDrives键值名,然后从快捷菜单中选“修改“,将其键值改为04000000;若要关闭D.盘,就此键值改为08000000;若要关闭C.和D.,就将此键值改为0C000000。
16.一些英文软件显示乱码
打开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\fontassoc\AssociatedCharSet分支,将GB2312(86)的机内码改为no,重新启动Windows。
17.清理软件遗留注册字句信息
即使是卸载软件时,注册表文件仍然会保留软件安装时注册的许多初始信息语句(如软件的供应商、ID号、用户及组织名、某些设置参数等),如果不及时作清理工作,长时间会使得注册表文件越来越庞大,影响到系统的工作性能。
依次打开HEKY_CURRENT_USER、software主键,显示的下级主键项一般是软件的供应商名,如.所有由微软提供的软件均含在Microsoft主键项中。
对HEKY_CURRENT_MACHINE和HEKY_USERS中的Software主键项操作一样。
通常根据已删软件的名字点击各项主键寻找,找到并确认后即可删除其配置项。
18.清理访问网络邻居后留下的字句信息
使用局域网的用户在访问网络邻居时,注册表会HEKY_CURRENT_USER/Network/Recent主键项中记录下一系列命令操作的信息,包含被访问机器的名字、访问过的应用程序及文件名等,如.主键Recent包含一名为\\ierl_server\software的子主键项,表示你曾访问过名为ierl_server的服务器中的software文件夹,点击此项后编辑器右窗显示此项的名称及键值。
这些内容基本没有用途,可以适当的清理一下。
打开注册表编辑器后,按以下顺序依次打开各级主键.HEKY_CURRENT_USER、Network、Recent,然后把主键Recent的子项删除即可。
19.为回收站改名
我们可以很容易地改变桌面上大多数图标的名字但却不能直接给回收站改名。
如果您想改变“回收站“的名子只有在注册表编辑器中将HKY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}右窗口键的“默认”值由“回收站”改为其它的名字(如“垃圾筒”),关闭注册表编辑器,重启WIN98。
20.改变我的电脑、回收站的图标
在Win98中,不能象修改一般文件的图标那样来更改“我的电脑”、“回收站”的图标,只能通过修改系统的注册表来实现:
启动注册表编辑器,在注册表中依次选择“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID”选项,然后选择编辑\查找,键入“回收站“并确认。
当找到该项后,选择该项的DefaultIcon选项,双击名称栏中的“Full”(或“Deafult”、“Empty”),在弹出的对话框中显示的是“回收站”所对应的图标文件,更改该值为您喜欢的图标文件(注意要写全文件路径)。
用同样的方法可以修改“我的电脑“的图标,只要在查找时键入“我的电脑“并确认即可。
21.删除桌面上的系统级图标
当你想删除桌面上的回收站、收件箱、网上邻居的图标时,就会发现它们不能用一般的方法删除。
这时也只能修改注册表了.打开注册表编辑器,先把HKEY_LOCAL_MACHINE\SOFTWARE\Mcrosoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace下分支的关键字和右窗口的串值(用纸笔)记下(供恢复时用),然后删掉所不需要的分支,关闭注册表编辑器,重新启动WIN98,再看桌面,它已经消失了。
22.修改“长文件名的命名准则“
Win98支持长文件名,它会为每个长文件名自动生成一个古老的8.3格式的短文件名。
当长文件名超过了8个字母时,短文件名就会出现一个波浪号加上一个数字(这就是数字尾巴)。
数字尾巴的作用是区分前8个字母相同的长文件名,但当某个长文件名的前8个字母唯一时,Win98也会给短文件名后面加上数字尾巴,这在逻辑上给人一种“多余”的感觉。
其实这种“规则”也是可以改变的.在注册表编辑器中打开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem后,给FileSystem新建一个BinaryValue,命名为“NameNumericTail”,设定其值为0。
重新启动机器后,Win98就会使(DOS下的)文件名尽可能接近长名,易于区别,又绝不相同。
23.为一台机器设置两个IP地址
一般情况下只能为一个网络适配器配置一个IP地址,但通过修改系统注册表,却可以为一个网卡配置多个IP地址:
运行注册表编辑器,找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans,在此目录中可以看到多个名为0000、0001、0002…的目录,它们用于记录协议的安装情况。
在它们中间找到DriverDesc为“TCP/IP”的目录,修改IPAddress和IPMask两个键。
其中IPAddress为用逗号隔开的多个IP地址,IPMask是对应的掩码。
例如设置IPAddress为“202.10.1.10,202