向注册表写入二进制数据后,发现结果不对,什么原因?

时间:2022-09-04 16:01:07
  
      ReDim bByteArr(0 To 5)
        bByteArr(5) = &H31
        bByteArr(4) = &H32
        bByteArr(3) = &H34
        bByteArr(2) = &H36
        bByteArr(1) = &H45
        bByteArr(0) = &H46
        lFlag = SetValue(hMainKey, sSubKey, "MyBinary", REG_BINARY, bByteArr)

上面代码中bByteArr是个字节数组,将这六个字节数据写入注册表后,发现数据为11 40 00 00 00 00
用bByteArr = StrConv(bByteArr, vbUnicode)这个代码进行转换也不能得到正确的数据。不知是什么原因。
请高手指教一下。注册表应是用Unicode来储存的吧,或者UTF-8?发现数据有时是变长的。

1 个解决方案

#1


try:

lFlag = SetValue(hMainKey, "MyBinary", REG_BINARY, bByteArr, 6)

#1


try:

lFlag = SetValue(hMainKey, "MyBinary", REG_BINARY, bByteArr, 6)