Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
75 Views

Mother Board (System) Temperature using C#

Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.
0 Kudos
3 Replies
Highlighted
Employee
75 Views


Well I was going to suggest WMI, but sounds like you didn't find what you need.

Intel has some utilities also, but I am not aware of an API or SDK for this.

Maybe someone else on the forum can provide some info.
0 Kudos
Highlighted
Beginner
75 Views

Quoting - ibn-batuta
Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.
Hi,

Hopefully I am able to contribute.

I also searched for a way to retrieve CPU temperature data, (tried WMI) and almost gave up.
Until i came across :http://openlibsys.org/.
The DLL wil give you acces to the the IA32_TERM_STATUS registry in the Machine System Registry.
As far as i have been able to test it will only work on Intel Core processors and/or newer. (pentium 4 doesnt return anything). Maybe these older processors dont use Digital Thermal Sensors?
It doesnt directly retrieve youre core temperatures, but retrieves the value to the thermal Junction of your processor. (This TJ value can differ depending on Model or Stepping)
So for example if you set the Thermal Junction to 100 and you retrieved 67 out of the registry the temperature would be 100 - 67 = 33 C.
Here http://www.hardforum.com/showthread.php?t=1192840i found the required information for accessing and reading the correct HEX values.


Hope this helpes,

MSH84

0 Kudos
Highlighted
Black Belt
75 Views

Quoting - ibn-batuta
Hello,

I am developing a little utility that will check the CPU utilisation, Memory Utilisation,
Hard Disk Utilisation and the Temperature check for the System and the Mother Board, using C#

I have done till the Information about CPU, Memory, Hard Disk but when it comes to Temperature,
I can not find any clue how to do it,

I have tried the WMI classes (Win32_TemperatureProbe) but nothing.
The utilities available on the net are able to find the temperature, so it can be done, but how I do not know.

If any body can help me I will be very happy.

Hi there,

In the SDK thereare no CIM (or AMT_XXX) classes to directlyaccess that information via WMI.
But there is a second option: PETs.
AMT supports SNMP, that means that managed machine generates some platforms events traps -PETs- that travel through the wire using the SNMP protocol.
So, from yourmanagement application you can register to listen those events; there are 33 types of events for specific actions happened in AMT machine, some of those are the ones you're looking for: OverTemperature Event, OverTemperatureWarning Event, GenericCriticalTemperature Event and so on.

Javier Andrs Cceres Alvis
0 Kudos