$ show oriash93/AutoClicker
AutoClicker is a Windows desktop application built with WPF for automating mouse clicks. It allows users to configure click interval, mouse button, click type, repeat mode, and click position (current cursor or a specified location). The application runs in the system tray and can be controlled via configurable hotkeys (default F6, F7, F8) or through the GUI. Settings are persisted to a JSON file in the user's AppData directory. The architecture separates concerns into UI (Views), data models (Models), utility functions (Utils), and command bindings (Commands).
The LLM identified 2 files worth highlighting for reuse:
Provides a clean, static wrapper for essential Win32 API functions related to mouse input (SetCursorPos, mouse_event) and global hotkey registration (RegisterHotKey, UnregisterHotKey). It isolates platform-specific code, making it reusable in any .NET application requiring low-level mouse or hotkey functionality without direct P/Invoke clutter.
A generic utility for reading and writing JSON files with built-in error handling and logging via Serilog. It handles file existence checks, deserialization exceptions, and ensures proper file disposal. This component can be extracted and used in any .NET project that needs simple JSON persistence with minimal boilerplate.