4

可以使用 C# 获取硬盘信息吗?

Like spin rate in RPM
Model Number 
Company Name
Data Transfer Rate
Seek Time

最重要的是旋转速度。

我试过了

ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");

属性,但它没有给出旋转速度。

请帮我?

  • 达特里亚·莫因
4

2 回答 2

4

检查这一点:使用 .NET 从驱动器读取 ATAPI SMART 数据;温度有人吗?

using System.Management;

public string GetHDDSerial()
{
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");

    foreach (ManagementObject wmi_HD in searcher.Get())
    {
        // get the hardware serial no.
        if (wmi_HD["SerialNumber"] != null)
            return wmi_HD["SerialNumber"].ToString();
    }

    return string.Empty;
}
于 2012-05-18T06:42:19.367 回答
1

阅读此Win32_DiskDrive并尝试以下操作:

ArrayList hddCollection = new ArrayList();
try
{
    var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
    foreach (ManagementObject wmiObj in searcher.Get)
    {
        HardDrive hdd = new HardDrive();
        hdd.model = wmiObj("Model").ToString;
        hdd.type = wmiObj("InterfaceType").ToString;
        hddCollection.Add(hdd);
        break; // TODO: might not be correct. Was : Exit For
    }
}
catch (Exception ex)
{
    throw ex;
}
于 2012-05-18T07:30:31.797 回答