蛋疼的 REG_MULTI_SZ

话说这个东西是够蛋疼的,当时在发《Delphi Read/Write REG_MULTI_SZ》一篇的时候就注意到读到的信息虽然是正确的,但是在写入的时候却发生了错误。如果再读的话那就更不对了。 从网上查了一下那个蛋疼的REG_MULTI_SZ到底是个什么东西,但是大部分人的结论就是这么一句:

REG_MULTI_SZ    一个以空字符结束的字符串数组,被两个null字符结束。

看了半天也没发现到底信息后面写的是什么东西,看来是我太笨了! sad 今天又遇到这个问题索性把注册表中的一个REG_MULTI_SZ   键值倒了出来,原来竟然是这么一串东东:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System]
"Component Information"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"Identifier"="AT/AT COMPATIBLE"
"Configuration Data"=hex(9):ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,02,00,00,00,05,\
00,00,00,0c,00,00,00,00,00,00,00,00,00,00,00,80,00,ff,03,00,00,3f,00,fe,00,\
01,00,05,00,00,00,18,00,00,00,00,00,00,00,00,00,00,00,00,00,0c,00,00,de,00,\
00,00,00,0e,00,00,00,01,00,00,00,0f,00,00,00,01,00
"SystemBiosDate"="12/17/10"
"SystemBiosVersion"=hex(7):31,00,32,00,31,00,37,00,31,00,30,00,20,00,2d,00,20,\
00,32,00,30,00,31,00,30,00,31,00,32,00,31,00,37,00,00,00,00,00

结束的地方是00,00,00,00,00~ laugh ,知道了是怎么结束的也就知道该怎么写回去了。擦,太蛋疼了~

☆版权☆

* 网站名称:obaby@mars
* 网址:https://lang.ma/
* 个性:https://oba.by/
* 本文标题: 《蛋疼的 REG_MULTI_SZ》
* 本文链接:https://da.bi/2011/05/2817
* 短链接:https://oba.by/?p=2817
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

4 comments

  1. Level 1
    Google Chrome 16 Google Chrome 16 Windows 7 Windows 7 cn浙江省杭州市 电信

    @obaby
    “结束的地方是00,00,00,00,00”,这么解释是不科学的。因为Windows平台上Unicode编码的一个字符是2字节的,所以2个NULL字符就是“00,00,00,00”——共4个字节。而你说的最前面还有1个字节的“00”是属于字符串尾字符的。若尾字符是中文的,那么结束的地方应该是“xx,00,00,00,00”——“xx”表示不确定。

    1. 公主 Queen 
      Opera 11 Opera 11 GNU/Linux GNU/Linux cn山东省 移动/数据上网公共出口

      你说的是对的.早先意识到了但是一直没改.惭愧

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注