三、制作REG文件的具体操作
1.创建新键
创建新键的写法:[路径\新键名]
例1,在 HKEY_CLASSES_ROOT\*\shell 下创建主键,键名为:NewWindow。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow]
------------------------------------------------------------------------------------------------
例2,再在例1的主键下创建子键,键名为:command。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
------------------------------------------------------------------------------------------------
以上,是先创建主键后创建子键的,是分两步走的。其实只要一步就行了,如例1的脚本没有导入,运行例2的脚本,主键、建子会一并创建成功的。
运行效果:
2.创建键值项
创建键值项的写法:@或"键值名"=键值符 键值
(1)创建默认键值项的写法: @=键值符 键值
在注册表中,每一个键都有一个默认键值项,并只能有一个默认键值项。在创建主键或子键时,系统会对每一个新键自动给出一个默认键值项,其键值是“数值未设置”。因此,如再创建默认键值项,其实质是对原来默认键值项中的“键值类型、键值”的修改。
例3,为例2中的NewWindow主键创建一个默认键值项,键值类型:字符串,键值:在新窗口中打开。
再为command子键创建一个默认键值项,键值类型:字符串,键值:explorer.exe %1。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow]
@="在新窗口中打开"
[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
@="explorer.exe %1"
------------------------------------------------------------------------------------------------
说明:上面脚本中的三个部分分别是注册表版本、主键路径部分、子键路径部分,注册表版本与路径部分、路径部分与路径部分之间必须空一行。
运行效果:
以上可看出,主键和子键的默认键值项,分别都只有一个,但键值都发生了改变。
(2)创建非默认键值项的写法:"键值名"=键值符 键值
例4,为例3中的NewWindow主键创建一个非默认键值项,键值名:键值名1,键值类型:二进制,键值:01,00,00,00。
再为command子键创建一个非默认键值项,键值名:键值名2,键值类型:dword值,键值:00000001。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow]
"键值名1"=hex:01,00,00,00
[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
"键值名2"=dword:00000001
------------------------------------------------------------------------------------------------
运行效果:
3.删除主键、子键
删除主键、子键的写法:[-路径\键名]
例5,删除例4中的command子键。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
------------------------------------------------------------------------------------------------
运行效果:
同样,删除NewWindow主键的脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\NewWindow]
------------------------------------------------------------------------------------------------
注意,删除一个键,将会一并删除该键及其以下的所有子键、键值项。
4.删除键值项
删除键值项的写法:@或"键值名"=-
(1)删除默认键值项的写法:@=-
由于系统只允许一个默认键值项,又不允许没有默认键值项。因此,删除默认键值项,系统又会自动给出一个字符串值“数值未设置”的默认键值项。
例6,删除例4中command子键的默认键值项。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
@=-
------------------------------------------------------------------------------------------------
运行效果:
(2)删除非默认键值项的写法:"键值名"=-
例7,删除例4中NewWindow主键的非默认键值项,键值名:键值名1。脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow]
"键值名1"=-
------------------------------------------------------------------------------------------------
运行效果:
5.清除键值
清除键值的写法:@或"键值名"=键值符
说明,键值符:""、hex:、dword:、hex(7): 、hex(2): 。
其中键值符为dword:时,应写成:@或"键值名"=dword:00000000。
(1)清除默认键值的写法:@=键值符
其中,键值符:""、hex:、hex(7): 、hex(2):
(2)清除非默认键值的写法:"键值名"=键值符
其中,键值符:""、hex:、hex(7): 、hex(2):
(3)清除dword值的写法:
@=dword:00000000
"键值名"=dword:00000000
例8,对例4中的NewWindow主键和command子键,清除所有的默认键值和非默认键值。
分析:例4中的NewWindow主键有两个键值项,一个是默认的;另一个是非默认的二进制值,键值名:键值名1。
例4中的command子键也有两个键值项,一个是默认的;另一个是非默认的dword值,键值名:键值名2。
脚本写法:
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\NewWindow]
@=""
"键值名1"=hex:
[HKEY_CLASSES_ROOT\*\shell\NewWindow\command]
@=""
"键值名2"=dword:00000000
------------------------------------------------------------------------------------------------
运行效果:
小结:
①创建新键、键值项的写法
[路径\新键名]
@或"键值名"=键值符 键值
其中,键值符:""、hex:、dword:、hex(7): 、hex(2): 。
②删除键、键值项的写法
[-路径\新键名]
@或"键值名"=-
③清除键值的写法
@或"键值名"=键值符
说明,键值符:""、hex:、dword:、hex(7): 、hex(2): 。
其中键值符为dword:时,应写成:dword:00000000。