1

在 C# 中,我试图获取注册表项的值。它是一个二进制密钥。我正在使用的代码

RegistryKey regKey = Registry.LocalMachine;
            regKey = regKey.OpenSubKey(@"Software\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA\");

            if (regKey != null)
            {
                string value = regKey.GetValue("KEY").ToString();
                Console.WriteLine(value);
            }
            else
            {
                return;
            }

当它写入控制台时,它输出的只是System.Byte[]. 如何输出密钥的确切值?我究竟做错了什么?

4

2 回答 2

2

您只需转换为byte[]即可获取值,因为您的值是二进制的:

byte[] value = (byte[])regKey.GetValue("KEY");

要显示二进制,您可以显示为两个十六进制数字:

 for (int i = 0; i < value.Length; i++)
     Console.Write(" {0:X2}", value[i]);
于 2013-03-29T06:41:58.207 回答
0

您从中获得的值regKey.GetValue("KEY")可能是一个字节数组。

请考虑像本文一样将其转换为 HEX

于 2013-03-29T06:38:06.610 回答