A lightweight C# WPF diagnostic utility for inspecting and diagnosing Windows sleep, wake, and power‑management behavior. It parses ACPI system power states (S0–S5), evaluates powercfg output, and provides clear summaries, live session tracking, and actionable recommendations based on system firmware capabilities.
Works on any Windows 10/11 system, automatically detecting whether the machine supports S0 Low Power Idle (Modern Standby), S3 Suspend to RAM, Hibernate (S4), and other ACPI states.
| Standard Mode (Limited) | Admin Mode (Elevated) |
|---|---|
![]() |
![]() |
Running as Administrator unlocks one-click HTML report generation (/energy and /sleepstudy), active sleep blocker inspection, and scheduled wake timer diagnostics.
| Dashboard | Sleep Blockers | Wake Timers |
|---|---|---|
![]() |
![]() |
![]() |
Problem: PC unexpectedly waking up from Hibernate/Sleep mode at random times.
Diagnostic: Running Sleep State Troubleshooter revealed an active scheduled task under the Wake Timers tab:
Timer set by svchost.exe (SystemEventsBroker)... Reason: Windows will execute 'NT TASK\HP\HP Print Scan Doctor\Printer Health Monitor'
Solution: Identified the exact background task so it could be disabled in Windows Task Scheduler, preventing future battery drain and unintended wake events.
-
Automatic Sleep‑State Detection
Identifies supported ACPI states (S0 Idle vs S3 Traditional) and explains firmware behavior. -
Real-Time Live Session Log
Monitors power mode transitions (WM_POWERBROADCASTevents) and automatically captures wake sources on system resume. -
Sleep Blocker Inspection
Runspowercfg -requeststo expose active process or driver execution requests keeping the PC awake. -
Wake Source & Timer Auditing
Surfaces hardware wake sources (-lastwake) and active background scheduled tasks (-waketimers). -
Armed Device Inspection
Lists all hardware devices allowed to wake the computer, highlighting high-risk network interfaces. -
HTML Power Diagnostics
One-click generation of native Windows/energyand/sleepstudyreports.
- OS: Windows 10 or Windows 11
- SDK/Runtime: .NET 8.0+ / .NET 10.0 (WPF)
- Privileges: Administrator privileges recommended for full diagnostic access.
- Open a terminal in the project root folder.
- Build and run the project using the .NET CLI:
dotnet run --project .\src\SleepStateTroubleshooter\SleepStateTroubleshooter.csproj




