微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我怎样才能从registry读取二进制数据到字节数组

我使用以下代码一个字节数组保存到registry中

Byte[] value = new byte[16]{ 0x4a,0x03,0x00,0x45,0x02,0xb7,0x9d,0x00 }; RegistryKey key = Registry.CurrentUser.CreateSubKey(KeyName); key.SetValue(@"SoftwareSoftwareKey",value,RegistryValueKind.Binary);

这是使用上面的代码创build的密钥:

[HKEY_CURRENT_USERSoftwareSoftwareKey] "LOC"=hex:4a,03,00,45,02,b7,9d,00

现在我想把相同的数据读回字节数组格式。 以下代码可以读取相同的数据,但输出是types对象。

RegistryKey key = Registry.CurrentUser.OpenSubKey(KeyName); object obj = key.GetValue(@"SoftwareSoftwareKey",value);

这里转换为byte []不起作用。 我知道我可以使用串行器或stream来实现这个任务。 我想知道是否有一个更简单的方法来读取数据回到byte []types(双线性代码)?

是否有可能通过关联的文件将命令行parameter passing给可执行文件

窗口,设置电脑(浏览器)的认网页代理

Perfmon,PerfMonitor和PerfView

升级到Windows 10之后,混合模式程序集就build立了

.NET Framework依赖于Windows API有多less?

请注意这个问题是在C ++中

80040154类即使clsid在registry中也没有注册错误

Windows每秒进行一次线程切换的频率如何?

微软打破了.NET兼容性?

OutOfMemoryException / ERROR_COMMITMENT_LIMIT与系统中的大量可用内存

如何确定当前的Windows会话是否被locking?

要向注册表写入一个字节数组,请使用以下代码

Byte[] value = new byte[]{ 0x4a,0x00 }; RegistryKey key = Registry.CurrentUser.CreateSubKey(KeyName); key.SetValue(@"SoftwareAppNameKey",RegistryValueKind.Binary);

要将数据从注册表中恢复为Byte []格式,请使用以下命令:

RegistryKey key = Registry.CurrentUser.OpenSubKey(KeyName); byte[] Data = (byte[]) key.GetValue(@"SoftwareAppNameKey",value);

注意: CurrentUser是您的密钥位置的根名称,并指向HKEY_CURRENT_USER

我在VB.NET中测试:

Dim obj As Object = key.GetValue("SoftwareSoftwareKey",value__1)` Dim v As [Byte]() = CType(obj,Byte())`

它的工作

所以在C#应该是:

Byte[] v = Convert.ToByte(obj);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐