https://autohotkey.comBeginners
You can use AutoHotkey to:
Automate almost anything by sending keystrokes and mouse clicks.
You can write a mouse or keyboard macro by hand or a macro recorder.
Remap keys and buttons on your keyboard, joystick, and mouse.
Create hotkeys for keyboard, joystick, and mouse.
Essentially any key, button or combination can become a hotkey.
Expand abbreviations as you type them.
For example, typing "btw" can automatically produce "by the way".
Retrieve and change the clipboard's contents.
Convert any AHK script into an executable file that can be run on computers where AutoHotkey is not installed.
Don't know where to start or how to fix your script?
Join the friendly AutoHotkey community and ask for help.
Intermediates & Experts
You can also:
Create custom data-entry forms, user interfaces and menu bars.
See GUI for details (you can use a Gui editor).
Automate data entry jobs by reading data from text files, XML, CSV, Excel and various database formats.
Read signals from hand-held remote controls via the WinLIRC client script.
Use the Component Object Model (COM).
Use array/associative array/OOP (Objects).
Use variadic functions.
Use DLL calls and Windows Messages.
Use Perl Compatible Regular Expressions (PCRE).
Use interactive debugging features and more.