Source Code: GitHub Repository
The Problem
Users of Corsair’s iCUE software often face a frustrating issue: the background service can silently crash, causing RGB lighting profiles and fan curves to revert to defaults. For gamers and power users who rely on custom fan profiles for cooling or specific key bindings, this isn’t just cosmetic—it’s a functional disruption.
The Solution
I built iCUE Watchdog, a lightweight C# application designed to run silently in the system tray. Its sole purpose is ensuring high availability for the iCUE service.
Technical Architecture
The application is built using .NET Framework 4.8 for broad compatibility and low resource footprint. Key components include:
- Process Monitoring Loop: A background thread that queries the active process list every 10 seconds.
- Automatic Recovery: If
iCUE.exeis missing, the watchdog attempts to launch it from the known installation path. - System Tray Integration: Uses
NotifyIconto provide status updates without cluttering the taskbar.
Code Snippet
The core logic is surprisingly simple but effective. Here’s how we check for the process:
private void CheckAndRestart()
{
Process[] processes = Process.GetProcessesByName("iCUE");
if (processes.Length == 0)
{
ShowNotification("iCUE crashed! Restarting...");
try
{
Process.Start(icuePath);
}
catch (Exception ex)
{
Log(ex.Message);
}
}
}Results
Since deploying this tool, my personal setup has achieved 100% uptime for lighting and cooling profiles. It transforms a manual annoyance into an automated “set and forget” solution.