Libraries
This page includes many of the resources originally collected at Awesome AutoHotkey (CC BY 4.0), a curated list of awesome AutoHotkey libraries, library distributions, scripts, tools and resources.
Clipboard
Console
- AHKonsole - by Geek (GeekDude) - Class based AutoHotkey library for console support. This library enables you to create an object representing a console to interact with, as well as multiple console buffer objects to facilitate in double buffering. Forum thread: [v1].
Data format
- List manipulation functions - by Laszlo - Function library to manipulate comma delimited lists. Forum thread: [v1].
- ObjDump/ObjLoad - by HotKeyIt - Serialize/deserialize object to/from variable/memory. [v1][v2]
- SerDes - by Coco (Cocobelgica) - Serialize / de-serialize an AutoHotkey object structure. Forum thread: [v1].
JSON
JSON (JavaScript Object Notation) is a lightweight data interchange format widely used for exchanging data between a server and a client, or between different components of an application. While AutoHotkey is primarily known for its automation capabilities, third-party libraries offer powerful options for working with JSON data.
- JSON.ahk [v1] by Coco (Cocobelgica) - The standard JSON library for AHKv1.
- cJson.ahk [v1][v2] by Geek (GeekDude) - A performance-oriented JSON library using machine code to provide higher speeds.
- jsongo [v2] by GroggyOtter - A very feature-complete JSON library.
- JXON_ahk2 [v2] by TheArkive - A function-based pure AHK JSON library.
- cJson--created by dll [v2] by Mono919 - A DLL-based JSON library.
Data Structures and Algorithms
- HashTable - by HelgeffegleH - This is a custom, one-dimensional, associative array using familiar syntax - Forum Thread: [v1]
- HashMap.ahk - by Geek (GeekDude) - A drop-in replacement for v2's Map but hash based instead of binary search based - Forum thread: [v2]
- LibCrypt - by different authors - A collection of crypting and encoding functions. [v1]
Database
- Leya - MySQL API - by kevgk - Work with MySQL databases in autohotkey, without exposing server credentials to the client. [v1]
Excel
- Excel Function Library - by The Automator (Joe Glines), maestrith - Excel Function library for both v1 and v2 [v1][v2]
Filesystem
- FileGetProperties - by kon - Functions for retrieving extended file properties. [v1]
Graphics
- AHKv2-GDIP - Update of the above GDI+ library compatible with AHK v2 [v2]
- GDIp_ImageSearch - by tic - Library using gdiplus.dll for searching image instances on the screen. See the end of that thread for MasterFocus' improved version, or see his GitHub repo here [v1]
- ShinsImageScanClass - by Spawnova (Shin) - More advanced image and pixel searching for AHK [v1][v2]
- ShinsOverlayClass - by Spawnova (Shin) - Create Direct2D overlays for in-game heads up information [v1][v2]
- Simple GDI class - by Geek (GeekDude) - A class aiming to make using low-level GDI functions simple. [v1]
- Particle System - by tidbit - A simple class to add particles to your GUI or onto your screen, using GDI+. Forum thread: link. [v1]
GUI
Combobox
Custom Controls
Edit
General
- OnWin - by Coco (Cocobelgica) - Call function on window event (WinWaitXXX async). Forum thread: [v1]
- Class_ScrollGUI - by just_me - Creates a scrollable GUI as a parent for AHK GUI windows. Forum thread: [v1]
- Notify v2 - Easily notify users with the highly configurable Notify class [v2]
ListBox
- TransparentListBox - by just_me - Provides transparent listbox controls for AHK GUIs. Forum thread: [v1]
ListView
Menu
Web
- Neutron - by Geek (GeekDude) - Set of tools for build HTML-based user interfaces with AutoHotkey. Forum thread: [v1][v2]
- WebViewToo - by the-codingman - Wrapper for thqby's WebView2 library to allow usage more similar to Geek (GeekDude)'s Neutron.ahk [v2]
Hotkeys
- CHotkeyControl - by evilC - Replacement for AHK hotkey GuiControl that supports mouse buttons etc (Partially mature). [v1]
Integrations
Libraries for integrating AHK with other programming languages, or integrating AHK into other programming languages.
- AutoHotkey-jk - by Lexikos - Write fully featured scripts in JavaScript by embedding JS into AHK. [v2]
- import_v1lib - by thqby - Import ahk v2 library to v1 [v2]
- import_v2lib - by thqby - Import ahk v1 library to v2 [v1]
- Lua.ahk - by Delta Pythagorean - Write fully featured scripts in Lua by embedding Lua into AHK. [v2]
- Native.ahk - Extend AHK with new high-performance functionality by loading DLLs and MCode as native function objects. This is similar to how Python supports writing libraries in C/C++ like Numpy, Pandas, SciPy, PyTorch, etc. [v2]
Inter-Script Communication
Libraries to help with communication between script processes.
- ObjRegisterActive - by Lexikos - Registers an object as the active object for a given CLSID, so it can be retrieved by another script with
ComObjActive
. Forum thread: [v1][v2] - RemoteObj.ahk - by Geek (GeekDude) - Access objects remotely over a TCP/IP network. Forum thread: [v1]
- ScriptSock - by AstraVista - Communication Between AutoHotkey Scripts [v2]
Notable mention to Descolada's tutorial Communicating between scripts (IPC, inter-process communication) which demonstrates many techniques and provides some sample code.
Joystick
- CvJoyInterface - by evilC - Control a vJoy virtual joystick using AHK. [v1]
- JoystickWrapper - by evilC - Full event-based, 8 axis, 128 button, 4 POV joystick reading (C# DLL, Uses Lexikos' CLR). [v1]
Maths
- calc() - math expression evaluation incl brackets. [v1]
- Scientific Maths - by Avi - Library facilitating high precision mathematics. [v1]
Machine Code
Machine Code (referred to as "mcode") is the process of embedding code written in a different language (usually C) into AHK code, and then calling it with the DllCall()
function. MCode is especially useful for performance critical operations like physics calculation or image processing, since compiled C code is much faster than the compiled C++ code which is used to interpret regular AHK code. However, due to the unique constraints of code being executed inside of AHK by DllCall()
, special tools are needed to compile any old C/C++ code into MCode. For guidance on how to use Machine Code tools, see the Machine Code guide page.
- MCode4GCC by joedf, the classic machine code generator
- MCL [v1][v2] - The next generation of machine code tooling for AutoHotkey - by CloakerSmoker and Geek (GeekDude)
Memory
- classMemory - by RHCP (Kalamity) - An AHK memory reading/writing class with pattern scans. Forum thread: [v1]
Networking
- Chrome.ahk - by Geek (GeekDude) - Automate Google Chrome using native AutoHotkey - Forum [v1]
Chrome.ahk - ported by thqby - Chrome.ahk for AHKv2 [v2] - DownloadAsync - by thqby - Asynchronous download, you can get the download progress, and call the specified function after the download is complete [v2]
- Socket Class (überarbeitet) - by Bentschi - Class based sockets library. Supports TCP and UDP. [v1]
- WebSocket.ahk - by Geek (GeekDude)- Class based WebSocket library (comes in WinApi and ActiveX variants) - Forum [v1]
- WinHttp.ahk - by thqby - High level wrapper for the Win32 WinHttp API. [v2]
- WinHttpRequest.ahk - by thqby - High level wrapper for the WinHttpRequest COM object. [v2]
- WinSCP.ahk - by Lipkau - Lib allows the use of WinSCP in AHK [v1]
Plotting (graphs, bars, charts and etc)
- Excel Charts - by Xx7 - Library for creating a graph in Excel, save the graph as an image and display it in a GUI. [v1]
System
- Vista Audio Control Functions - by Lexikos - Provides alternatives to some SoundSet/SoundGet subcommands, as well as some additional features that SoundSet/SoundGet do not support. Forum thread: [v1]
Text manipulation
- String Things - by tidbit - Stand-alone string manipulation functions. [v1]