我正在使用WMI查詢返回連接到計算機的所有硬盤的製造商名稱。不幸的是,這並不是專門返回「Intel」或「Western Digital」,所以我使用string.Contains()來比較製造商是誰。 我的簡單形式的代碼是:如何區分C#4.0中的硬盤驅動器型號
//*** Declare Management Class
ManagementClass clsMgtClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection colMgtObjCol = clsMgtClass.GetInstances();
//*** Loop Over Objects
foreach (ManagementObject objMgtObj in colMgtObjCol)
{
MessageBox.Show(objMgtObj.Properties["Manufacturer"].Value.ToString());
}
這個工作的時候,也許60%,因爲它依賴於WMI返回全名。因此,例如我的硬盤驅動器返回爲「SanDisk SDSSDX240GG25 ATA Device」,這很好,因爲我可以很容易地找到「SanDisk」。同樣,西部數據產品將顯示爲「WD3000USB」或類似的東西,我可以清楚地發現「WD」。但是在另一臺使用希捷硬盤的計算機上,它有SE1000GXB等等,沒有任何製造商的實際指示。所以我的問題是,我怎樣才能可靠地找到硬盤驅動器製造商,並且能夠輕鬆地區分製造商,而無需通過谷歌腳本或數據庫查詢型號的所有麻煩。謝謝。 另一個編輯:使用成員「標題」,它會返回上面的例子。使用成員「製造商」將簡單地返回「(標準磁盤驅動器)」
http://hardforum.com/showthread.php?t=921544幫助一個批處理文件,我上面提到的型號是ST31000340AS,它適合這個前綴計算器,但它不是最優雅的解決方案。任何建議,將不勝感激 – OSer
我無法找到替代品wmi爲磁盤驅動器獲得一個良好的人類可讀製造商名稱。你可以在網絡上運行腳本,然後得到唯一的製造商名稱?或者我錯過了這一點.... – JohnZaj
我可以jJack,但這只是編制一個硬盤ID的列表,我可以輕鬆地在互聯網上做的。經過一段時間的搜索後,似乎唯一的解決方案將是找出可區分製造商的獨特模式或組合。 – OSer