DesktopSwap


Summary

A Windows tray utility that cycles the desktop wallpaper through the images in a folder. Left-click the tray icon for the next one; a global shortcut does the same from anywhere.

Right-click for the rest: pick the folder, choose sequential or random, set the fit (fill, fit, stretch, tile, centre), toggle start-with-Windows, or rebind the hotkey. Settings live in one INI file under %APPDATA%.

Build process

Native Win32 C++
One source file, no third-party libraries and no runtime to install alongside it. Event-driven message loop, so it sits at 0% CPU and about 2 MB of private memory while idle.
MSVC · VS Build Tools 2022
cl /O1 /GS- /MT /GL with /LTCG and /OPT:REF /OPT:ICF, size-optimised, static CRT, whole-program optimisation. Driven by build.bat, which calls vcvars64 and fails loudly if the C++ workload is missing.
rc · Windows SDK
Compiles the icon, version info and manifest into the executable.
app.manifest
Marks it DPI-aware and long-path-aware, and pulls in common controls v6.
IDesktopWallpaper (COM)
Sets the wallpaper and the fit mode, with SystemParametersInfo as a fallback on anything that won't hand over the interface.
Inno Setup 6
Installs to 64-bit Program Files with a Start Menu entry, an optional desktop shortcut and a generated uninstaller.
PowerShell 5.1
tools/gen_icon.ps1 regenerates the application icon; a second script in tools/ runs the end-to-end test harness.
Cloudflare Pages
Hosts this page and serves the installer directly.
Failure cases, deliberately
Empty or missing folders, files deleted mid-cycle, corrupt images (skipped), a second copy launching (mutex), Explorer restarting (re-adds the icon), a hotkey already taken (runs without it), and the exe being moved after autostart was set (repoints itself).
Download for Windows CLAUDE.md

Unsigned. If SmartScreen warns, choose More info → Run anyway. Installing needs admin; uninstall from Settings ▸ Apps.