标题:
[其他]
[已解决]inf文件中注册表类型的表示?
[打印本页]
作者:
yuan_53770
时间:
2010-12-14 00:06
标题:
[已解决]inf文件中注册表类型的表示?
INF文件中注册表类型
0x00000000 表示字符串值 REG_SZ
0x00000001 表示二进制值 REG_BINARY
0x00010001 表示Dword 值 REG_DWORD
0x00010021 导入后显示Dword 值 REG_DWORD
0x00020000 表示可扩充字符串值 REG_EXPAND_SZ
以下的我不明白表示什么意思?网上也搜索不到解释
0X00000002
0X00010003
0x00020002
知道的兄弟帮忙解释一下,谢谢。
[
本帖最后由 yuan_53770 于 2010-12-15 14:16 编辑
]
作者:
hanyeguxing
时间:
2010-12-14 08:43
AddReg Flags 定义
位值 符号名 说明
0x00000 FLG_ADDREG_TYPE_SZ 空结束字符串
0x00001 FLG_ADDREG_BINVALUETYPE 二进制数据
0x00002 FLG_ADDREG_NOCLOBBER 不替换已有值
0x00004 FLG_ADDREG_DELVALUE 删除子键或值名
0x00010 FLG_ADDREG_KEYONLY 建立子键,忽略值
0x00020 FLG_ADDREG_OVERWRITEONLY 如果值存在,则替换他,否则什么也不做
0x10000 FLG_ADDREG_TYPE_MULTI_SZ REG__MULTI_SZ数据(数组)
0x00008 FLG_ADDREG_APPEND 添加到已有的REG__MULTI_SZ数组
0x20000 FLG_ADDREG_TYPE_EXPAND_SZ REG_EXPAND_SZ数据
0x10001 FLG_ADDREG_TYPE_DWORD DWORD数据
0x20001 FLG_ADDREG_TYPE_NONE REG_NONE数据
作者:
yuan_53770
时间:
2010-12-15 14:16
谢谢,很详细。
应该还有很多不同的,我再找找。
作者:
yuan_53770
时间:
2010-12-15 20:31
还是不太理解,在网上搜索到下列的话:
----------------------------------------------------
④[标记],可选项。该项指定键值的类型(字符串值或二进制值)及指定如果我们所要设置的键值在注册表中已经存在,是否用我们设置的值来替换已存在的值。该项的参数共有四种:0、1、2、3.
0为缺省值,表示设置的键值类型为字符串,如果已经存在同样的键值名称,仍可用我们设置的键值来替换;
2表示设置的键值类型为字符串,如果已经存在同样的键值名称,则不用我们设置的键值来替换;
1表示设置的键值类型为二进制值,如果已经存在同样的键值名称,仍可用我们设置的键值来替换;
3表示设置的键值类型为二进制值,如果已经存在同样的键值名称,则不用我们设置的键值来替换。
大家都知道,Win9X的注册表的键值类型有三种,字符串值、二进制值和十六进制值,但是十六进制值其实完全可以用二进制值来代替。所以INF只支持设置字符串值或二进制值两种键值类型。
----------------------------------------------------
结合"似水年华"站长的帖子,我是这样子理解的,不懂对不对?
0x00000000 等于 0x00000 字符串值
0x00010001 等于 0x10001 Dword 值
0x00000001 等于 0x00001 二进制值
如果是这样,那下面的就应该这样理解?
0X00000002 表示设置的键值类型为字符串,如果已经存在同样的键值名称,则不用我们设置的键值来替换。
0X00010003 表示设置的键值类型为二进制值,如果已经存在同样的键值名称,则不用我们设置的键值来替换。
0x00020002 表示设置的键值类型为可扩充字符串值,如果已经存在同样的键值名称,则不用我们设置的键值来替换。
这样理解对吗?如果不对,为什么大家在编写inf文件时用的是十位数(0x00010001),而网上查到的关于inf文件的AddReg Flags 定义却是七位数(0x10001),麻烦再给详细解释一下好吗,谢谢。
欢迎光临 批处理之家 (http://bbs.bathome.net/)
Powered by Discuz! 7.2