读书人

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

发布时间: 2013-09-08 15:21:21 作者: rapoo

使用WMI检测硬盘温度参数出错
本帖最后由 jshzp 于 2011-08-29 15:30:03 编辑 我在使用WMI获取硬盘SMART数据,进而检测硬盘温度时,出错,错误消息为:不受支持。代码如下:

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#

热点推荐