- I am writing a software for Windows (WinXP and above, in C++), that requires measuring the CPU temperature.
- There are two WMI interfaces for this : MSAcpi_ThermalZoneTemperature and Win32_TemperatureProbe.
Although not all hardware manufactures implement their part in the interface within their drivers.
- There are hardware monitors that bypass the user space using a kernel mode driver in order to inject
assembly instructions directly to the processor.
- The Open Hardware Monitor software for example which is open source (written in C#) uses WinRing0.sys.
I modified it into a simple console app that returns the temperature.
- OHM implement the temperature retrieval interface in the following files:
- (Each model of each hardware manufacture has it's own assembly interface to access the temperature sensors) ~
- There is also a propriety SDK by CPUID, and an extension mechanism by CoreTemp.
All of these solutions require a quite restrictive security token - there is a bumping UAC (User Account Control) dialog (Vista and above).
OHM requires system admin privileges for example.
Is there a way to eliminate this?
Some useful links:
I tried those techniques without success so far (I am using Win8.0).