A reply to an old post but it may still be informative.
The Xwidget program cannot obtain temperatures from the o/s by itself as the temperatures are NOT provided by the o/s.
The devices that provide the temperature data are temperature sensors (thermo-couples) which are situated on the motherboard and on other devices such as discs &c. Each thermo-couple and its placement is unique to the device and therefore unknown to the o/s that unfortunately knows next to nothing about the motherboard unless it adheres to a standard that the o/s recognises. There is no such temperature provision standard that is fully implemented for Windows and its compatible cpus/motherboards. Every motherboard/device is potentially completely different from another.
Therefore, you must have a program whose job it is to extract the sensor information. It needs to know about hundreds if not thousands of motherboards, it must have the latest information on the newest motherboards. Code needs to be written to extract that information and it needs to be tested against hundreds of motherboards to avoid crashing/damaging the device you are probing.
Speedfan, coretemp and open hardware monitor are the main tools that people seem to use on Windows. Each maintains a list of compatible devices and if your m'board is on the list then the utility will/should be able to provide the temperature information.
What the Xwidget core does is to access this utility's API to extract that information and present it to the widgeteer in a usable fashion. In the case of Speedfan there is a shared memory area that provides the barest minimum of data. Speedfan provides the temperature data for a set number of sensors without naming or identifying the sensors properly. Therefore you don't know whether sensor 1 is the CPU core sensor or the ambient temperature sensor. This is why the information as presented by Xwidget is so vague (temp1, temp2, temp &c). This is not a limitation of the Xwidget engine but a major limitation on Speedfan's part which that utility's developer cannot be bothered to address despite being asked hundreds of times, link to tracker -
http://www.bugtrack.almico.com/view.php?id=1568The end result is that without using Speedfan or similar neither the Xwidget program nor any other utility can provide the temperature information without such a tool being installed and run independently.
Coretemp has been around for a while now and it has been suggested that it is a bit long in the tooth and not being actively developed so newer motherboards/devices may not be supported.
That leaves us with Open Hardware Monitor which is a much better tool and uses the Windows Management Instrumentation (WMI) layer to provide the information in a more structured way. We can just hope that Tony will write a new core for OHM that will allow widgets access to all the sensor information for all devices without having to write the WMI code in javascript to access the WMI data independently.