Reproduce (or not):
using System;
using System.Management;
using System.Windows.Forms;
namespace WMISample
{
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_PerfFormattedData_Counters_ThermalZoneInformation");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_PerfFormattedData_Counters_ThermalZoneInformation instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("HighPrecisionTemperature: {0}", queryObj["HighPrecisionTemperature"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
}
OR: (which is how to get this code as well)
- Download the Microsoft WMI Code Creator from here: https://www.microsoft.com/en-us/download/details.aspx?id=8572
- Scroll down in "Classes (dynamic or static)" to:
Win32_PerfFormattedData_Counters_ThermalZoneInformation
- Select
HighPrecisionTemperature
in the next box. - Click the
Search for Property Values
button.
My results are ALWAYS: 3030, 3010, and 2900 [I know these are tenths of a degree Kelvin. The question is about the code ALWAYS returning those values though the temperature obviously does NOT stay the same (and to a tenth of a degree centigrade!).]
What might cause the system to always return these results instead of real ones?
CPU: i5 9600K
Motherboard: Gigabyte B365