引言:首先要说明一个问题,就是为什么不在windows下直接编辑注册表,而要拐弯抹角到DOS下去处理?这里举个例大家就明白了,HKEY_LOCAL_MACHINE\SYSTEM\WPA这个键下的值,能编辑吗?这里微软记录了你的系统曾经用过的序列号,当然不允许你随便更改,也就无法抹除自己的盗版史;还有那个流氓中文上网官方游,在发现低版本的第三方软件试图删除它时,也会锁定注册表让你无法清理它。好在有DOS这样优秀的系统,There is no locked file in the Disk Operation System.经过一个下午的折腾,终于把这款在DOS下完美处理注册数据的软件GhRegEdt搞明白了。下面就把我使用这款软件的心得体会跟大家分享交流。
3、增删注册表键值(Addvalue/Delvalue)
注册表值的类型有五种,包括:
i)字符串值(REG_SZ);
ii)二进制值(REG_BINARY);
iii)DWORD 值(REG_DWORD);
iv)多字符串值(REG_MULTI_SZ);
v)可扩充字符串值(REG_EXPAND_SZ)
GhRegEdt能支持所有windows里有的注册表值!
例如我们要在刚才那个添加的注册表项里增加一个字符串值a b c d,并且将其值设为1234,就可以执行如下命令:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test "a b c d" REG_SZ 1234这里可以看到我加了引号,因为字符串值里有空格,在DOS下操作,空格意味着参数的改变,所以必须加入引号以防止DOS误判,那么我要加入一个字符串值a,并将其值设为1234,就可以不加引号,命令如下:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test a REG_SZ 1234如果不指定字符串值,则是修改默认字符串值。
删除它就很简单啦!把addvalue换成delvalue就OK!
什么?你问我更改键值用什么参数!很简单啦,直接以创建的形式就OK,会覆盖原值的,不用专门的参数!
增删多字符串值要稍稍复杂一些,也举例说明,例如我们要在test键下增加多字符串值a b c d,并将其值设为1和2和3和My Dear,那么应该执行如下命令:
代码:
GhRegEdt addvalue HKEY_LOCAL_MACHINE\SOFTWARE\test "a b c d" REG_MULTI_SZ :: "1"::"2"::"3"::"My Dear"::都坚持看到这里了,想必也会删除此值了,的确简单,不累述!