簡體   English   中英

使用 c# 如何提取有關本地計算機上存在的硬盤驅動器的信息

[英]using c# how can I extract information about the hard drives present on the local machine

我希望獲得諸如尺寸/容量、序列號、型號、頭部扇區、制造商和可能的 SMART 數據等數據。

您可以使用 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 來獲取所需的信息。 查看 MSDN 中Win32___DiskDrive的文檔,其中包含各種標准驅動器屬性。 您還可以嘗試使用 MSStorageDriver_ATAPISmartData WMI 類,我目前找不到任何文檔,但應該包含您正在尋找的所有 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得到你最想要的信息,而且也介紹了WMI 這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM