REG_SZ类型的键值中存在的可扩展占位符%xxx%不会被系统解释; REG_EXPAND_SZ类型的键值中存在的%xxx%的部分会被系统解释。
REG_SZ类型的键值中存在的可扩展占位符%xxx%不会被系统解释; REG_EXPAND_SZ类型的键值中存在的%xxx%的部分会被系统解释。
REG_EXPAND_SZ 是属于长度可变的数据串。该数据类型包含在程序或服务使用该数据时确定的变量。
PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\CodeBlocks-10.05\MinGW\bin 于是觉得问题不是出在VS2005上..应该跟我动过注册表有关. 最后还是从CSDN论坛上搜到一个答案.. 值类型为REG_EXPAND_SZ时,表明这是一个扩展字符串,可被替换..否则 不能被替换... 把程序里改为REG_EXPAN...
REG_SZ 标准数据串 REG_EXPAND_SZ 是属于长度可变的数据串。该数据类型包含在程序或服务使用该数据时确定的变量。
1、当读取图标和文字的时候是可行的,因为大部分注册表里的服务键值都是这样,如果是路径的话还是用expand类型的好。2、读取不了,应该换成expand类型
reg_expand_sz, 长度可变的数据串。该数据类型包含在程序或服务使用该数据时确定的变量 reg_multi_sz, 多字符串值
另外找一个具有REG_EXPAND_SZ属性的项,导出注册表项(若本机没有,可以另外找一台相同系统电脑导出并拷贝到本机);用记事本打开导出的注册表项,修改路径为缺失的位置(下面@=后的一串十六进制数字不要修改),保存注册表文件;导入注册表文件,就可以获得具有REG_EXPAND_SZ属性的项,此时可以在注册...
如果dwType是REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ类型,并且此函数的 ANSI 版本通过显式调用RegSetValueExA或未在将 Windows.h 文件) 之前未定义 UNICODE 来 (使用,则lpData参数指向的数据必须是 ANSI 字符串。 字符串在存储到注册表中之前会转换为 Unicode。