我正在为系统性能创建个人监控程序,但在弄清楚 C# 如何检索 CPU 和 GPU 温度信息时遇到问题。
我已经让程序通过 PerformanceCounter 检索 CPU 负载和频率信息(以及各种其他信息),但我无法找到 CPU 温度的实例、对象和计数器变量。
另外,我需要能够获取多个 GPU 的温度,因为我有两个。
我该怎么办?
您可以使用 WMI 来实现此目的,有一个用于 WMI 的 C# 代码生成器,在创建 WMI 查询时可以提供很大帮助,因为它没有很好的文档记录。
WMI 代码生成器可以在这里找到:http://www.microsoft.com/en-us/download/details.aspx?id=8572
快速尝试会生成如下内容:
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM MSAcpi_ThermalZoneTemperature");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("MSAcpi_ThermalZoneTemperature instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("CurrentTemperature: {0}", queryObj["CurrentTemperature"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
这可能不完全是您所需要的,只需尝试使用可用的属性和类
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)