Or you can try your hand at managed C++ with the Win32_TemperatureProbe class.
I've tried that before, but unfortunately it always returns zero for me.
Code:
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProbes = wmi.ExecQuery("Select * From Win32_TemperatureProbe")
MsgBox colProbes.Count
For Each probe in colProbes
MsgBox probe.Caption & probe.CurrentReading
Next
I'm sorry about the vb, again, but it is easier to try something like this in vbscript to see if it will work before translating it into C/C++.