Не удается получить подпись жесткого диска из Windows 10 в приложении C#. Но почему?
Большинство десктопов работают отлично, но когда он запускается на недавно настроенном десктопе, таком как клоновый ПК 7-го поколения, все приложение закрывается с ошибкой, сообщающей, что он не может читать HDD. Но почему? Я использую.net 4.5.
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{
string SerialNo = wmi_HD.GetPropertyValue("Signature").ToString();
if (SerialNo == "0" || SerialNo == "" || SerialNo == null)
{
}
else
{
hdCollection.Add(SerialNo);
}
}
1 ответ
Вы можете написать запасной механизм, чтобы получить подпись из реестра.
Он расположен под HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
, Первые 4 байта в значениях данных являются сигнатурой.