Код ниже не работает для меня, и я не знаю почему. (Я прочитал 2 матча в разделе «Вопросы, которые могут уже иметь ваш ответ», но не помогло.)Как получить значение REG_BINARY из реестра и преобразовать в строку
Мне нужно получить уникальный номер, который Windows создает для диска C: в реестре. Значение REG_BINARY, и мне нужно это в строке. Когда я сказал, что код не работает, я имел в виду, что он всегда возвращает только 2 странных символа, когда значение ключа: 19 49 84 25 00 00 50 06 00 00 00 00 Я бы предпочел иметь исходное значение ключа в виде строки
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);
}
Примечание: Я знаю, что это значение может измениться, если диск переформатирован или OS повторно установлен, но это нормально для меня до тех пор, как он привязан к этой конкретной машине.