读书人

运用WMI检测硬盘温度参数出错

发布时间: 2012-08-10 12:19:33 作者: rapoo

使用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识别不了你那种硬盘很正常。这种情况类似于某些显卡不装驱动照用,只不过速度慢点。

读书人网 >C#

热点推荐