如何在C#4.0中区分硬盘驱动器型号
我目前正在使用WMI查询返回连接到计算机的所有硬盘的制造商名称。不幸的是,这并没有特别返回“Intel”或“Western Digital”,所以我使用string.Contains()来比较制造商是谁。 我的简单代码是:如何在C#4.0中区分硬盘驱动器型号,c#,wmi,hard-drive,C#,Wmi,Hard Drive,我目前正在使用WMI查询返回连接到计算机的所有硬盘的制造商名称。不幸的是,这并没有特别返回“Intel”或“Western Digital”,所以我使用string.Contains()来比较制造商是谁。 我的简单代码是: //*** Declare Management Class ManagementClass clsMgtClass = new ManagementClass("Win32_DiskDrive"); ManagementObj
//*** 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设备”,这很好,因为我可以很容易地找到“SanDisk”。同样,西方数字产品将显示为“WD3000USB”或类似的东西,在那里我可以清楚地找到“WD”。然而,在另一台使用希捷硬盘的计算机上,它有SE1000GXB之类的东西,并且没有任何制造商的真实指示。因此,我的问题是,我如何能够可靠地找到硬盘驱动器制造商,并能够轻松地区分制造商,而不必通过谷歌脚本或数据库查询型号。谢谢
另一个编辑:使用成员“标题”,它将返回上面的示例。使用成员“制造商”只需返回“(标准磁盘驱动器)”ST-seagate
您可以从现在合并的各硬盘公司下载一份型号前缀列表,并根据型号制作一个表格,如果您愿意,该表格还可以包含实际容量
型号中通常包含足够的信息,1986年后磁盘设备上的序列号中通常包含型号信息
总之,您可能需要创建一个表,以人性化的方式查找信息
这将帮助您了解合并的内容
这是windows的批处理文件
圣希捷
您可以从现在合并的各硬盘公司下载一份型号前缀列表,并根据型号制作一个表格,如果您愿意,该表格还可以包含实际容量
型号中通常包含足够的信息,1986年后磁盘设备上的序列号中通常包含型号信息
总之,您可能需要创建一个表,以人性化的方式查找信息
这将帮助您了解合并的内容
这是windows的批处理文件
帮助,我上面提到的型号是ST31000340AS,它适合于这个前缀计算器,但它不是最优雅的解决方案。如有任何建议,我将不胜感激。我找不到wmi的替代品,无法为磁盘驱动器获取格式良好、可读的制造商名称。您能否在网络上运行脚本,然后获得唯一制造商名称的计数?或者我没有抓住重点……我可以用jJack,但那只不过是编一个我可以在互联网上轻松完成的硬盘ID列表而已。经过一段时间的搜索,似乎唯一的解决方案将是找出能够区分制造商的独特模式或组合。这就是它们在设备管理器中的显示方式,因此我认为您不会得到更好的结果。Device Manager还将制造商显示为“(标准磁盘驱动器)”。可以使用正则表达式查找首字母缩写和缩写模式。或者以其他方式测量wmi返回的内容与“友好”名称之间的levenshtein距离。图书馆是为这类问题而存在的,这是你愿意探索的吗?帮助,我上面提到的型号是ST31000340AS,它适合这个前缀计算器,但它不是最优雅的解决方案。如有任何建议,我将不胜感激。我找不到wmi的替代品,无法为磁盘驱动器获取格式良好、可读的制造商名称。您能否在网络上运行脚本,然后获得唯一制造商名称的计数?或者我没有抓住重点……我可以用jJack,但那只不过是编一个我可以在互联网上轻松完成的硬盘ID列表而已。经过一段时间的搜索,似乎唯一的解决方案将是找出能够区分制造商的独特模式或组合。这就是它们在设备管理器中的显示方式,因此我认为您不会得到更好的结果。Device Manager还将制造商显示为“(标准磁盘驱动器)”。可以使用正则表达式查找首字母缩写和缩写模式。或者以其他方式测量wmi返回的内容与“友好”名称之间的levenshtein距离。图书馆是为这类问题而存在的,这是你愿意探索的吗?