Desktop Hardware Monitor
A small always on top Windows widget that shows CPU, GPU, RAM and SSD temperatures and load in real time, built with WPF on top of LibreHardwareMonitor.
- Role
- Author
- When
- September 2026
- Stack
- C#, .NET Framework 4.8, WPF, LibreHardwareMonitor
Context
Full hardware monitoring tools show hundreds of sensors in large windows. Most of the time I only want four numbers in a corner of the screen: how hot and how busy the CPU, the GPU, the memory and the SSD are. This widget does exactly that.
What I built
A frameless WPF window that reads sensors through LibreHardwareMonitorLib and shows:
- CPU: package and core temperature, total load.
- GPU (NVIDIA and AMD): core, hot spot and memory temperatures, core and 3D load.
- RAM: used and total memory.
- SSD: drive temperature and activity.
Sensor polling runs in the background so the interface stays responsive. The window can be dragged anywhere, pinned on top of other windows, and configured from a right click menu: opacity, refresh rate (one to five seconds), start with Windows and recentre. Position, opacity and pin state are saved between sessions.
Build
No Visual Studio is needed: a PowerShell script (or a batch file) compiles the project with the C# compiler that ships with the .NET Framework. Reading CPU temperature registers requires administrator rights, so the executable carries a manifest that asks for elevation at launch.