我一直在谷歌上搜索这个问题,一整天都没有找到可行的解决方案。我对二进制数据类型一无所知(因为我从来没有故意使用过它们),并且我正在尝试将我在注册表中看到的二进制值写入注册表。现在,我看到的只是以下内容[如下所示]...如果我尝试将其作为字符串传递给RegSetValueEx
在 WinAPI 中,当然它会出错...我不知道我需要将什么“数字”传递到lpData As Any,
的论证RegSetValueEx
(我尝试了一个位数组)以便它在注册表中显示为以下[如下所示]。我真的不知道,我在位数组中放置随机数的测试只会产生相应的随机“数字”,如 regedit 中可见,我不明白如何将它们逻辑地“捆绑”在一起。
罪魁祸首就在这里!
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Some\Registry\Location]
"RegistryKey"=hex:01,00,00,00,d0,8c,9d,df,01,15,d1,11,8c,7a,00,c0,4f,c2,97,eb,\
01,00,00,00,7b,96,8a,78,b9,cc,c1,4f,b1,35,11,01,5e,3c,25,9b,00,00,00,00,02,\
00,00,00,00,00,10,66,00,00,00,01,00,00,20,00,00,00,22,1c,b6,ea,e3,a5,06,8b,\
58,69,7b,89,19,b3,1f,a3,1d,d8,b7,5b,30,72,65,4b,22,41,a8,73,d1,92,bb,36,00,\
00,00,00,0e,80,00,00,00,02,00,00,20,00,00,00,87,a0,1a,79,a7,c9,fe,7a,1b,24,\
9a,71,5d,cf,7b,87,bc,1b,14,6e,59,96,e3,42,c6,f5,08,78,00,a6,42,3d,30,00,00,\
00,02,0a,2a,ea,d9,49,0a,fa,48,b3,f1,e2,ae,e2,f8,42,a2,54,1e,56,dc,dd,9b,0d,\
9b,73,41,72,54,cc,64,49,99,f1,5c,12,70,33,8e,fb,b1,31,66,df,b4,e0,02,bb,40,\
00,00,00,13,c2,7d,88,16,af,56,ac,82,21,39,95,43,04,50,71,c2,4c,6a,44,a6,03,\
ea,32,4d,d9,f3,0f,22,2e,41,17,2e,26,11,9b,10,9d,99,60,fc,12,d2,ce,7c,1c,78,\
6b,f0,59,23,fd,84,46,2c,58,41,ee,31,7a,f8,95,57,54
如果我在字符串或位数组中有以下内容,我必须用什么填充位数组,以便注册表在写入时输出此[上面]?或者,我怎样才能弄清楚该怎么做?我希望有一个函数可以读取我的二进制数据字符串并将其转换为真正的二进制格式,以提交给 VB6 中的 RegSetValueEx 函数或 VB.Net 或 C# 中的其他函数(这确实是一个与语言无关的问题,并且该问题存在于所有语言中;即:相同的过程)。
我希望有一个解决方案或一个我可以遵循的线索。谢谢你们,当我快要拔头发的时候,你们都是最好的!