An ultra-lightweight, high-performance click automation utility built with native Win32 APIs for Windows.
Ultimate AutoClicker is a compact utility designed to automate mouse clicking tasks. Whether you are automating repetitive workflows, testing software, or playing games, this utility provides precise timing and cursor control without impacting system performance.
To maintain the smallest possible resource footprint, the application is written entirely in native C++ using raw Win32 APIs. It uses a modern event-driven thread system combined with Windows kernel high-resolution timers, meaning it consumes 0% CPU when idle and runs on less than 1 MB of RAM. The compiled executable is incredibly tiny, making it highly portable and efficient.
You can choose to either download a pre-compiled version or compile the utility yourself.
You do not need to compile the code manually. You can download the standalone executable immediately:
- Go to the Release section on this repository page.
- Download the latest
UltimateAutoClicker.exefile. - Place it anywhere on your computer and run it. No installation is required.
If you prefer to build the program yourself using a lightweight compiler like MSYS2/MinGW-w64:
- Create a folder named
AutoClickeron your computer. - Save your C++ source code as
main.cppinside this folder. - Create a resource script named
resource.rcto bind your custom icon:101 ICON "app.ico" - Place your custom icon file in the folder and name it
app.ico. - Open your terminal in that folder and compile the resource file:
windres resource.rc -O coff -o resource.res
- Build the final executable with high-efficiency size optimization:
g++ main.cpp resource.res -o UltimateAutoClicker.exe -mwindows -lcomctl32 -static -s -Os -fno-exceptions -fno-rtti
Configuring and controlling your automated clicks is managed through a clean, intuitive native interface.
-
Set the Click Interval: Specify the exact timing between clicks using the Hours, Minutes, Seconds, Milliseconds, and Microseconds (
$\mu\text{s}$ ) fields.-
Press Enter to Save & Convert: Type your desired numbers or decimals into any interval box and press Enter inside the box to save and automatically convert the values across units.
-
Example 1: Typing
5000in Ms and pressing Enter automatically converts it to5Secs and0Ms. -
Example 2: Typing
0.1in Hrs and pressing Enter automatically converts it to6Mins. -
Example 3: Typing
0.5in Secs and pressing Enter converts it to500Ms.
-
Example 1: Typing
-
Sub-Millisecond Speeds (
$< 1,\text{ms}$ ): Use the$\mu\text{s}$ field for ultra-fast sub-millisecond rates (e.g.,500 μs=$0.5,\text{ms}$ or 2,000 Clicks/sec). -
Low Interval Red Warning: Setting the overall interval below
$5,\text{ms}$ ($< 200\text{ Clicks/sec}$ ) displays a red warning notice below the interval box to alert you of potential target application lag.
-
Press Enter to Save & Convert: Type your desired numbers or decimals into any interval box and press Enter inside the box to save and automatically convert the values across units.
- Choose Click Options: Select which mouse button to emulate (Left, Right, or Middle) and the click type (Single or Double).
- Select Click Repeat Limit: Choose to repeat infinitely until stopped, or specify an exact number of clicks.
-
Choose Cursor Position:
- Choose Current Location to click wherever your mouse pointer is currently resting.
- Choose Specific Location to target static coordinates. You can manually enter X and Y coordinates, or click Pick Location to hide the window and capture coordinates automatically on your next click.
Configuring your global hotkey is managed via a dedicated modal dialog supporting custom multi-key combinations:
- Click the Change Hotkey... button (this automatically stops active clicking if running).
- An Assign Hotkey popup window will appear with a live key recorder. Press any key combination on your keyboard (e.g.,
X + Z,F6 + F7,Ctrl + Shift + Q,F6, orSpace + Enter). - Click Save Hotkey to apply your new key combination, or click Cancel to discard changes and revert to your previous hotkey.
Ultimate AutoClicker is designed with several low-level optimizations to ensure responsive and reliable performance:
-
Event-Driven Efficiency: Unlike typical clickers that constantly run CPU-intensive polling loops in the background, this program uses Windows
Eventhandles and kernel waitable timers. When clicking is inactive, the background thread is completely asleep, consuming zero processor resources. -
Sub-Millisecond Microsecond Precision: Supports microsecond timing (
$\mu\text{s}$ ) powered byCREATE_WAITABLE_TIMER_HIGH_RESOLUTIONandNtSetTimerResolution, enabling ultra-fast sub-1ms clicking without locking up CPU cores or freezing the desktop cursor. -
Custom Multi-Key Hotkeys: Powered by a low-latency keyboard hook (
WH_KEYBOARD_LL), allowing unconventional hotkey combinations likeX + ZorF6 + F7alongside standard shortcuts. - Enter-Key Smart Conversion: Type any value or decimal into any interval box and press Enter to instantly convert and format values across unit fields.
- Instant Stop Response: If you set a long interval (e.g., 10 seconds) and need to stop clicking immediately, pressing the stop hotkey triggers a thread interrupt. It will stop instantly without waiting for the remainder of the sleep interval to finish.
- Always on Top: Checking the Always on Top box floats the interface over other windows, ensuring you always have quick visual access to the controls while running other full-screen or windowed programs.
Because the application is entirely portable and does not write to the Windows Registry or create hidden folders in AppData:
- To Reset: Simply close the application. Your settings will return to defaults upon your next launch.
- To Remove: Right-click the system tray or taskbar icon, select Close, and delete the
UltimateAutoClicker.exefile. No residual files or configuration leftovers will remain on your computer.
License (Click to expand)
This project is open-source and distributed under the MIT License.