我使用WMI查询有关计算机硬盘的信息等,但我在处理我收到的信息时遇到问题,请参加此WMI查询例如:
ManagementObjectSearcher searcherDisk = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData");
foreach (ManagementObject queryObj in searcherDisk.Get())
{
byte[] arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific");
...
}
使用它我可以获得PC上每个硬盘的所有SMART信息,因为据我所知,WMI查询没有排序功能,我遇到了麻烦以与此相反的顺序查询返回信息,获取有关硬盘驱动器的其他数据:
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{
...
}
说结果是:
# HD | Value
HD1 | Val2
HD2 | Val1
如果我确定订单总是反向的,也许我可以通过匹配它们来解决这个问题,但是因为据我所知我无法知道,我试图使用Win32_DiskDrive
Index
值为pc中的每个硬盘驱动器返回一个索引值,但是我还没有找到对MSStorageDriver_ATAPISmartData
查询执行相同操作的方法,你会说我的选择是什么? ?
顺便说一句,我知道我的信息是错误的,因为我一直在使用AIDA64软件来比较我的结果。