Skip to content

ByDexterTR/AutoClicker

Repository files navigation

AutoClicker

Minimal, low-overhead Windows auto clicker written in modern C++ with Win32, DirectX 11, and Dear ImGui.

Features

  • Single Click Mode – Repeatedly clicks at the current cursor position
  • Double Click Mode – Performs double-clicks at the current cursor position
  • Multi Click Mode – Record and replay a sequence of click positions
  • Customizable Interval – Set click interval from 1ms to any value with no upper limit
  • Random Delay – Add randomization between clicks for more natural behavior
  • Mouse Button Selection – Choose between Left, Right, or Middle mouse button
  • Global Hotkey – Toggle clicking with F1-F12 keys (default F6)
  • Import/Export – Save and load click position sequences as CSV files
  • Dark/Light Theme – Modern UI with theme support matching Windows 11 style
  • System Tray Integration – Minimize to tray, control via right-click menu
  • Single Instance – Launching twice focuses the existing window instead of creating duplicates
  • Low Resource Usage – Minimal CPU and RAM footprint (~5-10 MB)

Quick Start

Prerequisites

  • Windows 10/11
  • MinGW-w64 (GCC compiler)
  • Make utility

Easy Installation with Chocolatey:

choco install mingw make -y

Building

  1. Clone this repository:

    git clone https://github.com/ByDexterTR/AutoClicker.git
    cd AutoClicker
  2. Build the project:

    make

    Or use the build script:

    ./build.bat
  3. Run the executable:

    ./build/AutoClicker.exe

Clean Build

make clean
make

Usage

Basic Operation

  1. Select Click Mode:

    • Single Click – Clicks once per interval at cursor position
    • Double Click – Double-clicks per interval at cursor position
    • Multi Click – Plays back recorded positions
  2. Set Interval:

    • Minimum: 1 ms
    • Default: 100 ms
    • No maximum limit
  3. Start Clicking:

    • Click "Start (F6)" button or press your hotkey
    • Status changes to "RUNNING" (green)
    • Press hotkey again or click "Stop (F6)" to stop

Multi Click Mode

  1. Select "Multi Click" from Click Mode dropdown
  2. Click "Start Recording" button
  3. Click anywhere on screen to record positions
  4. Press your hotkey (e.g., F6) to stop recording
  5. Click "Start" to replay the recorded sequence

Manual Position Entry:

  • Enter X and Y coordinates manually
  • Click "Add" to append to the list

Import/Export:

  • Click "Export" to save positions as CSV (x,y format)
  • Click "Import" to load previously saved positions

Advanced Features

Random Delay:

  • Enable to add randomization between clicks
  • Set Min and Max delay in milliseconds
  • Makes clicking patterns less detectable

Hotkey Configuration:

  • Choose any F1-F12 key as toggle hotkey
  • Same key stops recording in Multi Click mode

System Tray:

  • Enable "Minimize to Tray" to hide window
  • Right-click tray icon for quick actions:
    • Start/Stop clicking
    • Show/Hide window
    • Toggle theme
    • Exit application
  • Double-click tray icon to restore window

Mouse Button Options

  • Left – Default mouse button
  • Right – Right-click automation
  • Middle – Middle-click (scroll wheel)

Keyboard Shortcuts

  • F6 (default) – Start/Stop clicking
  • F6 (during recording) – Stop recording positions
  • Any F1-F12 – Configurable toggle hotkey

File Formats

CSV Export Format

x,y
100,200
350,450
720,1080

Simple comma-separated values with header row. Only position coordinates are saved.

Troubleshooting

Compiler Not Found

  • Install MinGW-w64 and add to PATH
  • Restart terminal/PowerShell after installation
  • Verify with: g++ --version and make --version

DirectX Errors

Clicks Not Working in Games

  • Run AutoClicker as Administrator
  • Set game to Windowed or Borderless Windowed mode
  • Some anti-cheat systems may block input injection

Application Won't Start

  • Check for missing DLL files
  • Ensure Windows 10/11 (requires DirectX 11)
  • Run from compiled executable, not source directory

Project Structure

AutoClicker/
├── src/
│   ├── main.cpp           # Application entry point and UI
│   ├── AutoClicker.cpp    # Clicking logic
│   ├── TrayIcon.cpp       # System tray integration
│   ├── resource.rc        # Windows resources
│   └── resource.h         # Resource definitions
├── include/
│   ├── AutoClicker.h      # AutoClicker class header
│   └── TrayIcon.h         # TrayIcon class header
├── libs/
│   └── imgui/             # Dear ImGui library (vendored)
├── build/                 # Compiled output
├── Makefile               # Build configuration
└── README.md

Building from Source

The project uses a Makefile for compilation. The build process:

  1. Compiles Dear ImGui sources
  2. Compiles application source files
  3. Links against DirectX 11, DWM, and Windows libraries
  4. Embeds resources (icon, version info)

Manual build command:

g++ -std=c++17 -O2 -mwindows src/main.cpp src/AutoClicker.cpp src/TrayIcon.cpp \
    libs/imgui/*.cpp libs/imgui/backends/imgui_impl_win32.cpp \
    libs/imgui/backends/imgui_impl_dx11.cpp src/resource.rc \
    -o build/AutoClicker.exe -Iinclude -Ilibs/imgui -Ilibs/imgui/backends \
    -ld3d11 -ldwmapi -lgdi32 -lcomctl32

Dependencies

  • ImGui – Immediate mode GUI library (included)
  • DirectX 11 – Graphics rendering
  • Win32 API – Windows integration
  • DWM API – Window chrome customization

All dependencies are either included or part of Windows SDK.

License

MIT License - Free to use, modify, and distribute.

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues.

Disclaimer

This tool is for automation of repetitive tasks. Use responsibly and in accordance with software terms of service. Some applications may prohibit automation tools.