用记事本编辑注册表文件

来源:互联网 发布:太阳能资源分布知乎 编辑:程序博客网 时间:2024/05/19 22:45

示例:





如上图所示,我想注册一个ActiveX插件,存于 C:\Program Files\Multi-browser activex\npxhp.dll

,我就可以编辑生成这样一个.reg文件:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex]
"Path"="C:\\Program Files\\Multi-browser activex\\npxhp.dll"
"Description"="Multi-browser activex"
"ProductName"="Multi-browser activex"
"Version"="1"


[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes]
"Dummy"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex]
"Dummy"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\clsid]

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\clsid\*]
"*"="true"

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\codeBaseUrl]

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\codeBaseUrl\*]
"*"="true"

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\progid]

[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@xhanhan.com/Multi-browser activex\MimeTypes\application/xhanhan-activex\progid\*]
"*"="true"

,即对比上面两图中各键节点及对应值。 对应编辑即可。


下面介绍一下编辑注册表的相关技术:


REG文件对于注册表的操作可以归结为以下几种:新建主键、删除主键、新建键值、修改键值、删除键值,我们分别来看一下。以下实际操作以在Windows2000/XP中为例。


1.新建主键
例如我们想在主键[HKEY_CURRENT_USER\Soft-ware]下新建一个名叫“新建主键名称”的主键。那么,我们可以打开记事本,写入如下内容:
WindowsRegistryEditorVer-sion5.00[HKEY_CURRENT_USER\Software\新建主键名称]
输入完成后另存为一个形如“*.reg”的文件,再双击将其导入到注册表中,如图1所示,我们可以立杆见影地看到修改后的效果。

2.删除主键
要用REG文件在注册表中删除一个主键,方法是在[]中的主键路径前面加上一个-符号即可。值得注意的是,删除主键操作将会一并删除该主键下的所有子键及其键值项目。例如要删除我们刚才添加的那个主键,可以在记事本上输入下面的内容:
WindowsRegistryEditorVer-sion5.00
[-HKEY_CURRENT_USER\Software\新建主键名称]
接下来,只要另存为一个*.reg文件,并双击将其导入注册表中即可立即生效。

3.新建键值
在注册表编辑器右侧的键值项窗口空白处单击右键,选择“新建”菜单项,可以看到这些键值被细分为:字符串值、二进制值、DWORD值等几种类型。
字符串值(REG_SZ),该值一般用来作为文件描述和硬件标志,可以是字母、数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符。REG文件中一般表现为:“a”=“****”。二进制值(REG_BINARY),一般情况下,大多数硬件组件信息以二进制数据存储,然后通过十六进制的格式显示在注册表编辑器中。该类型值没有长度限制,可以是任意字节长,REG文件中一般表现为:“a”=hex:01,00,00,00。

DWOED值(REG_DWORD),设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=dword:00000001。

如果你用的操作系统是Win-dowsXP,那么除了字符串值、二进制值、DWORD值外,你可能还会看到多字符串值、可扩充字符串值两种键值类型,不过这两种基本不用,在这里不做介绍。在上面我们已经了解了常见的键值以及它在REG文件中的表现格式,下面我们就来详细看看如何新建键值。

要新建一个键值项,必须要指明该键值所在的分支,该键值的名称、该键值的类型和该键值的值\(数据\。例如要在分支[HKEY_CUR-RENT_USER\Software]下新建一个名叫“REG文件测试”的主键,并设置默认键值为“test”,并分别添加“字符串”键值项目\(字符串值\、“二进制”键值项目\(二进制值\、“双字节”键值项目\(DWORD值\。你可以这么写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER\Software\REG文件测试]
@=“test”“字符串”=“CeShi”“双字节”=hex:01,00,00,00“Dword值”=dword:00000001在REG文件中,Dword值用dword表示,二进制值用hex表示,字符串值直接用引号把内容括起来就行。值得注意的是,键值类型如dword、hex等也都必须用小写,此外,如果在创建字符串类型的键值时,如果该字符串中包含路径分隔符,这个路径分隔符必须用双斜杠“\\”表示。还有就是,在Reg文件中,默认键值是用@表示的,并且没有引号。如图2所示,你可以非常清晰地看出这种对应关系。
 
在HKEY_CURRENT_USER\Software新建一个主键“新建主键名称”,并且添加一个名为“test”的字符串,他所运行的文件在D根目录下,名为“111.bat”
要如下操作:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\新建主键名称]
"test"="D:\\111.BAT"


4.修改键值
修改一个键值项和创建一个新键值的方法是类似的,只要在REG文件中,更改相应数据就可以了。例如我们要将上例中的Dword值改为00000000,我们可以这么写:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER\Software\REG文件测试]“Dword值”=dword:00000000在我们执行导入操作之后,新的数据会自动覆盖旧的数据,比如在本例中,会自动用00000000将00000001替换掉。

5.删除键值
用REG文件删除键值项目也是通过-号实现的,只要把-符号放在键值项目的等号后面就行了。我们要删除图2所示中我们添加的几个键值项目,我们可以这么写,如图3所示:
WindowsRegistryEditorVer-sion5.00
[HKEY_CURRENT_USER\Software\REG文件测试]

@=“test”“字符串”=-“双字节”=-“Dword值”=-注意到等号后面的减号了吧,这就是删除的意思


用记事本直接修改注册表:

Windows XP注册表除了可以用注册表编辑器、工具软件修改外,还可以直接用记事本制作REG文件叫本来直接修改,其优势是可以文件形式保存、交流,也保证了准确性和安全性。下面我们分别从注册表项(子键、项值)的创建、修改、删除3个方面分析REG文件的制作。 
1.创建和修改 
⑴创建子项 
我们现在需要在HKEY_LOCAL_MACHINE\SOFTWARE下创建一个名为"Efanabe"的子项,则只须在记事本中输入以下内容: 
Windows Registry Editor Version 5.00 
(此处空一行) 
[HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe] 
将其保存为任一扩展名为REG的文件(如abe.reg),双击其就可以在HKEY_LOCAL_MACHINE\SOFTWARE\下创建名为"Efanabe"的子项。 

⑵创建或修改值项 
现在要在HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe下新建一个名为"abe"(如注册表中已有abe值项,则为修改)、类型为"REG_DWORD"、值为"111"(16进制)的值项,则可在记事本中输入以下内容: 
Windows Registry Editor Version 5.00 
(此处空一行) 
[HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe] 
"abe"=dword:111 
将以上文档保存为一个REG文件并双击之,如果此时你的注册表中没有Efanabe这个子项,那么将会为你创建。修改时也可把需要的注册表项导出,用记事本打开并修改,然后将其导入即可。 

2.删除 
⑴删除值项 
如果将HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe\下名为"abe"的值项删除,相应REG文件的内容为: 
Windows Registry Editor Version 5.00 
(此处空一行) 
[HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe] 
"abe"=- 

⑵删除子项 
或要删除HKEY_LOCAL_MACHINE\SOFTWARE下的Efanabe子项,REG文件如下书写: 
Windows Registry Editor Version 5.00 
(此处空一行) 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Efanabe] 
以上就是REG文件制作的全部内容,如果还有什么不懂的地方,只需将注册表中一项导出为REG文件,然后用记事本打开,对照注册表编辑器的相应项看看便明白了。