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 に答える