使用WMI检测硬盘温度参数出错
我在使用WMI获取硬盘SMART数据,进而检测硬盘温度时,出错,错误消息为:不受支持。代码如下:
- C# code
try { var searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData"); foreach (ManagementObject queryObj in searcher.Get())//执行到in时出错,消息:“不受支持” { Console.WriteLine("-----------------------------------"); Console.WriteLine("MSStorageDriver_ATAPISmartData instance"); Console.WriteLine("-----------------------------------"); var arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific"); // Create SMART data from 'vendor specific' array var d = new SmartData(arrVendorSpecific); foreach (var b in d.Attributes) { Console.Write("{0} :{1} : ", b.AttributeType, b.Value); foreach (byte vendorByte in b.VendorData) { Console.Write("{0:x} ", vendorByte); } Console.WriteLine(); Console.ReadLine(); } } } catch (ManagementException e) { Console.WriteLine("An error occurred while querying for WMI data: " + e.Message); }
接着,我对比使用了Everest软件,可以检测到硬盘温度。从而可以排除我的机器硬件不支持的可能性。是哪儿的问题呢?谢谢指教!
[解决办法]
硬盘有很多种,传感器也有很多种。WMI识别不了你那种硬盘很正常。这种情况类似于某些显卡不装驱动照用,只不过速度慢点。