下面的代码对我不起作用,我不知道为什么。(我已经阅读了“可能已经有你答案的问题”中的 2 场比赛,但没有帮助。)
我需要检索 Windows 为注册表中的 C: 驱动器创建的唯一编号。该值是 REG_BINARY,我需要它在字符串中。当我说代码不起作用时,我的意思是当键值为:19 49 84 25 00 00 50 06 00 00 00 00 我希望将原始键值作为字符串时,它总是只返回 2 个奇怪的字符
byte[] machineID = (byte[])Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\\SYSTEM\\MountedDevices", "\\DosDevices\\C:", null);
if (machineID != null)
{
var str = System.Text.Encoding.Default.GetString(machineID);
MessageBox.Show(str);
}
注意:我知道如果重新格式化驱动器或重新安装操作系统,这个值可能会改变,但这对我来说没问题,只要它绑定到这台特定的机器。