Stop Saver is a statically compiled Windows VC binary designed to prevent screensaver activation, sleep, and inactivity.
I built Stop Saver to solve a common frustration: system lockouts and sleep interruptions while working from home. Many systems automatically disconnect VPN sessions after periods of inactivity, which can disrupt critical tasks like long-running SSH sessions, monitoring, or downloads.
With Stop Saver, your computer stays active and responsive—no manual intervention needed.
- I didn’t trust other online solutions.
- I wanted a simple, lightweight approach.
- I needed a native Win32 C/C++ single-binary solution.
- Windows 7 or greater (x86 or x64)
Download the appropriate standalone version of the application for your system from the releases area.
Note: The standalone installation will not auto-launch upon login. You will need to configure this manually.
Download the appropriate version of the MSI package for your system from the releases area.
Once the installation is complete, you can launch Stop Saver from the application menu.
After launching Stop Saver, you will see a task tray icon as shown below.
Click the icon and select the desired state.
Once you select "Start," the icon will change as shown below.
If the user session is locked, Stop Saver will disable to prevent battery drain (e.g., closing the laptop lid to travel).
- Start automatically on launch - Once the applicaiton lanches, it will automatically be in the started state.
- Restore active state on unlock - If you lock your system, walk away, and unlock. The prior running state will resume.
- Show user as active - Send input type
INPUT_MOUSEand event typeMOUSEEVENTF_MOVEwhich tells the system the mouse moved.- Note: This is what keeps other apps showing as active.
Under the HKEY_CURRENT_USER\Software\StopSaver registry
- LogFile - REG_EXPAND_SZ value can be used to change the logfile path. Default is
%USERPROFILE%/stopsaver.log - LogLevel - REG_SZ string values trace, debug, info, warn, error, critical, off. Default is
error - MaxSizeLogSize - REG_DWORD value max size of logfile in bytes. Default is
1048576010MB - MouseIntervalMs - REG_DWORD value from 1000 to 60000 (in miliseconds). Default is
30000(30s). - AutoStartOnLaunch - REG_DWORD value 0 or 1 are associated with the Tray Configuration Option
Start automatically on launch - RestoreOnUnlock - REG_DWORD value 0 or 1 are associated with theTray Configuration Option
Restore active state on unlock - ShowUserAsActive - REG_DWORD value 0 or 1 are associated with theTray Configuration Option
Show user as active
There are two mechanisms to prevent sleep:
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED);- Will prevent the system from sleeping, much like a Zoom session.SendInput(1, &input, sizeof(INPUT));- The input type isINPUT_MOUSEand event type isMOUSEEVENTF_MOVEwhich tells the system the mouse moved.
The SendInput call notifies other applications that the mouse is moving, preventing inactivity.
Stop Saver is very low on resource consumption.
Note: When the application starts task manager will show higher memory, but it falls after running for a while.
Is anyone still running Windows XP or earlier versions of Windows where this tool might be useful?
If so, please reach out and let me know, it may be possible to make it compatible with older versions.
If you discover any bugs or have suggestions for improvements, please feel free to share them.


