使用 C# 获取硬盘速度



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

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

最重要的是旋转速率。

我试过

ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");

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

请帮帮我?

  • 达塔特里亚·莫因

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

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;
}

阅读此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;
}

最新更新