注册表:基本概念和reg文件
基本概念
windows的注册表可以看作是一个树形结构的数据库。
树的节点叫做键或项(key);
其下的子节点,叫做子键或子项(subkey);
每个节点可以有很多属性,叫做值项(value);
每个值项由名称(name)、数据类型(datatype)和数据(data)组成。
在注册表编辑器(Regedit.exe)中,数据结构显示如下:
其中,command键是open键的子键,
(默认)表示该值是默认值,值名称为空,其数据类型为REG_SZ,数据值为%systemroot%\system32\NOTEPAD.EXE “%1”
以上信息的意义是:扩展名txt类型的文件在右键菜单里的“打开”一项使用的程序是NOTEPAD.EXE。
REG文件
用reg文件可以变成修改注册表,其有固定语法。
插入注册表项或值(空行不要省略)
RegistryEditorVersion
[项路径1]
"属性name1"="DataType1:DataValue1"
"属性name2"="DataType2:DataValue2"
[项路径2]
"属性name3"="DataType3:DataValue3"
其中,RegistryEditorVersion
——
-
要么是Windows 2000、 Windows XP 和 Windows Server 2003 的:
Windows Registry Editor Version 5.00
-
要么是Windows 98 和 Windows NT 4.0 的:
REGEDIT4
REGEDIT4
头还在基于 Windows 2000、Windows XP、Windows Server 2003 的计算机上工作。
删除注册表项和值
删除用连字符 -
要删除项在项名前加-
,如删除注册表项Test︰
[-HKEY_LOCAL_MACHINE\Software\Test]
要删除注册表值,在值名等号后放一个连字符 -
:
"TestValue"=-
数据类型(此节待整理)
DataTypen是数据类型注册表值,并紧随等号。
对于 REG_SZ
(字符串值) 以外的所有数据类型,紧跟一个冒号数据类型。
如果数据类型是 REG_SZ
,则不包括数据类型值或冒号。在这种情况下Regedit.exe 假定为数据类型 REG_SZ
。
下表列出了典型的注册表数据类型︰
数据类型 | 在.reg 的数据类型 |
---|---|
REG_BINARY | 十六进制 |
REG_DWORD | Dword |
REG_EXPAND_SZ | hexadecimal(2) |
REG_MULTI_SZ | hexadecimal(7) |