如何从 BTU C# 获取热量
How to get heat generation from the BTU C#
我一直在尝试使用 WMI 类 从 BTU 获取热量,但无济于事。
public static ushort GetHeat()
{
ManagementObjectSearcher Searcher = new ManagementObjectSearcher("SELECT HeatGeneration FROM CIM_Chassis");
ushort Heat = 0;
foreach (ManagementObject HeatAmount in Searcher.Get())
{
Heat = (UInt16)HeatAmount["HeatGeneration"];
break;
}
return Heat;
}
我收到 NullReferenceException。我如何获得热量?
我的代码有什么问题?谢谢。
我猜想这个特定的 属性 在您正在测试的硬件上不可用。它可能 return 在不同的硬件配置文件上。
如果您检查其中一个更可靠的属性,例如 "ChassisType" 或 "Manufacturer",您可能会发现搜索器确实按其应有的方式工作。
以下是可能可用的属性,您可以使用它们进行测试:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387204(v=vs.85).aspx
因此,无论您在编写什么应用程序,如果 属性 返回为 null,您可能必须考虑 "unavailable" 值。 (顺便说一句,它在我目前正在测试代码的迷你塔上返回为 null,但我测试的其他属性 return 符合预期)
我一直在尝试使用 WMI 类 从 BTU 获取热量,但无济于事。
public static ushort GetHeat()
{
ManagementObjectSearcher Searcher = new ManagementObjectSearcher("SELECT HeatGeneration FROM CIM_Chassis");
ushort Heat = 0;
foreach (ManagementObject HeatAmount in Searcher.Get())
{
Heat = (UInt16)HeatAmount["HeatGeneration"];
break;
}
return Heat;
}
我收到 NullReferenceException。我如何获得热量?
我的代码有什么问题?谢谢。
我猜想这个特定的 属性 在您正在测试的硬件上不可用。它可能 return 在不同的硬件配置文件上。
如果您检查其中一个更可靠的属性,例如 "ChassisType" 或 "Manufacturer",您可能会发现搜索器确实按其应有的方式工作。
以下是可能可用的属性,您可以使用它们进行测试:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387204(v=vs.85).aspx
因此,无论您在编写什么应用程序,如果 属性 返回为 null,您可能必须考虑 "unavailable" 值。 (顺便说一句,它在我目前正在测试代码的迷你塔上返回为 null,但我测试的其他属性 return 符合预期)