Я ищу, чтобы получить такие данные, как Размер/Емкость, Серийный номер, Модель Нет, Головные секторы, Производитель и, возможно, данные SMART.с помощью C# как я могу извлечь информацию о жестких дисках, присутствующих на локальном компьютере
с помощью C# как я могу извлечь информацию о жестких дисках, присутствующих на локальном компьютере
ответ
Вы можете использовать WMI-вызовы для доступа к информации о жестких дисках.
// Требуется использовать System.Management; & System.Management.dll Ссылка
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
Console.WriteLine("Logical Disk Size = " + disk["Size"] + " bytes");
Console.WriteLine("Logical Disk FreeSpace = " + disk["FreeSpace"] + "bytes");
Вы должны использовать System.Management пространство имен:
System.Management.ManagementObjectSearcher ms =
new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject mo in ms.Get())
{
System.Console.Write(mo["Model");
}
Подробные сведения о членах класса Win32_DiskDrive, проверьте:
http://msdn.microsoft.com/en-us/library/aa394132(VS.85).aspx
Самый простой способ - использовать WMI для получения необходимой информации. Взгляните на документацию для Win32___DiskDrive в MSDN, которая содержит множество стандартных свойств привода. Вы также можете попробовать использовать класс WMS MSStorageDriver_ATAPISmartData, на который я не могу найти ни одного документа в настоящий момент, но должен иметь все данные SMART, которые вы ищете. Вот некоторые базовые примеры кода, чтобы перечислять все диски и получать их свойства:
ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drive in drives)
{
foreach (PropertyData property in drive.Properties)
{
Console.WriteLine("Property: {0}, Value: {1}", property.Name, property.Value);
}
Console.WriteLine();
}
Любая идея, если вы можете проверить скорость чтения/записи с помощью тестового файла с использованием WMI? – 2012-03-23 13:24:50