AutoHotkey
Template:Short description Script error: No such module "For".
Page Module:Infobox/styles.css has no content.
| AutoHotkey | |
|---|---|
| Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found. | |
| [[Programmer|DeveloperTemplate:Pluralize from text]] | Chris Mallett, Steve Gray |
| Initial release | November 10, 2003 (Chris Mallet)[1] July 18, 2008 (Steve Gray)[2][3] |
| Written in | C++ |
| Operating system | Microsoft Windows |
| Type | Scripting language Automation GUI utility |
| License | GPLv2[4] |
| Website | Lua error in package.lua at line 80: module 'Module:If preview' not found. |
Script error: No such module "Check for conflicting parameters".
AutoHotkey (AHK) is a free and open-source custom scripting language for Microsoft Windows, primarily designed to provide easy keyboard shortcuts (or 'hotkeys'), fast macro-creation, and software automation, to allow users of most computer skill levels to automate repetitive tasks in any Windows application. It can easily extend or modify user interfaces (for example, overriding the default Windows control key commands with their Emacs equivalents).[5]
AutoHotkey was initially released by its creator, Chris Mallet, in 2003; it has subsequently become one of the most commonly used and commonly recommended pieces of software available for simple macro implementation. The installation package includes an extensive help file; web-based documentation is also available.[6]
Features and uses
AutoHotkey scripts can be used to launch programs, open documents, and emulate keystrokes or mouse clicks and movements.[7] They can also assign, retrieve, and manipulate variables, run loops, and manipulate windows, files, and folders. They can be triggered by a hotkey, such as a script that opens an internet browser when the user presses the relevant hotkey (key combination) Script error: No such module "key". on the keyboard.
AutoHotkey also allows "hotstrings" that automatically replace certain text as it is typed, such as assigning the string "btw" to produce the text "by the way", or the text "%o" to produce "percentage of".[8] Keyboard keys can also be remapped and disabled—for example, so that pressing Script error: No such module "key". produces an em dash in the active window.[9] Scripts can also be set to run automatically at computer startup, with no keyboard action required—for example, for performing file management at a set interval.[10]
More complex tasks can be achieved with custom data entry forms (GUI windows), working with the system registry, or using the Windows API by calling functions from DLLs. The scripts can be compiled into standalone executable files that can be run on other computers without AutoHotkey installed. The C++ source code can be compiled with Visual Studio Express.
AutoHotkey allows memory access through pointers, as in C.[11]
Some sample uses for AutoHotkey
- Remapping the keyboard, such as from QWERTY to Dvorak and other alternative keyboard layouts
- Opening programs, documents, and websites with simple keystrokes
- Using shortcuts to type frequently-used filenames and other phrases
- Typing punctuation not available on the keyboard, such as a curved quotemark (“…”)
- Typing other non-keyboard characters, such as the sign Template:Char used for dimensional measurement (e.g. 10′×12′)
- Simulating mouse cursor input via a script or keystrokes
- Pasting blocks of predefined text on command (e.g. to add signatures to e-mails, message boards posts, etc.)
- Monitoring a system and automatically closing unwanted programs
- Scheduling an automatic reminder, system scan, or backup
- Filling out forms automatically
- Prototyping applications before implementing them in other, more time-consuming programming languages
History
The first public beta of AutoHotkey was released on November 10, 2003,[1] after author Chris Mallett's proposal to integrate hotkey support into AutoIt v2 failed to generate response from the AutoIt community.[12][13] Mallett built a new program from scratch basing the syntax on AutoIt v2 and using AutoIt v3 for some commands and the compiler.[14] Later, AutoIt v3 switched from GPL to closed source because of "other projects repeatedly taking AutoIt code" and "setting themselves up as competitors".[15]
In 2010, AutoHotkey v1.1 (originally called AutoHotkey_L) became the platform for ongoing development of AutoHotkey.[16] In late 2012, it became the official branch.[17] Another port of the program is AutoHotkey.dll.[18] A well known fork of the program is AutoHotkey_H,[19][20] which has its own subforum on the main site.[21]
Version 2
In July 2021, the first AutoHotkey v2 beta was released.[22][23] The first release candidate was released on November 20, 2022, with the full release of v2.0.0 planned later in the year.[24] On December 20, 2022, version 2.0.0 was officially released.[25] On January 22, 2023, AutoHotkey v2 became the official primary version. AutoHotkey v1.1 became legacy and no new features were implemented, but this version was still supported by the site.[26] On March 16, 2024, the final update of AutoHotkey v1.1 was released. AutoHotkey v1.1 has now reached its end of life (this version has been "deprecated").[27]
Examples
The following script searches for a particular word or phrase using Google. After the user copies text from any application to the clipboard, pressing the configurable hotkey Script error: No such module "key". opens the user's default web browser and performs the search.
#g::Run "https://www.google.com/search?q=" . A_Clipboard
The following script defines a hotstring that enables the user to type afaik in any program and, when followed by an ending character, automatically replace it with "as far as I know":
::afaik::as far as I know
User-contributed features
AutoHotKey extensions, interops and inline script libraries are available for use with and from other programming languages, including:
Page Template:Div col/styles.css has no content.
Other major plugins enable support for:
Page Template:Div col/styles.css has no content.
- Aspect-oriented programming
- Function hooks[34]
- COM wrappers[35]
- Console interaction[36]
- Dynamic code generation[37]
- HIDs[38]
- Internet Explorer automation[39]
- GUI creation[40]
- Synthetic programming[32]
- Web services[41]
- Windows event hooks[42]
Malware
When AutoHotkey is used to make standalone software for distribution, that software must include the part of AutoHotkey itself that understands and executes AutoHotkey scripts, as it is an interpreted language. Inevitably, some malware has been written using AutoHotkey.[43] When anti-malware products attempt to earmark items of malware that have been programmed using AutoHotkey, they sometimes falsely identify AutoHotkey as the culprit rather than the actual malware.[citation needed]
See also
Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
- AutoIt (for Windows)
- AutoKey (for Linux)
- Automator (for Macintosh)
- Bookmarklet (for web browsers)
- iMacros (for Firefox, Chrome, and Internet Explorer)
- Keyboard Maestro (for Macintosh)
- KiXtart (for Windows)
- Macro Express (for Windows)
- Winbatch (for Windows)
References
Page Template:Reflist/styles.css has no content.
- ^ a b Page Module:Citation/CS1/styles.css has no content."AutoHotkey Changelog for Years 2003-2004". Autohotkey.com. Archived from the original on 2011-11-04. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Changes & New Features | AutoHotkey". www.autohotkey.com.
- ^ Page Module:Citation/CS1/styles.css has no content."Lexikos/AutoHotkey_L". GitHub.
- ^ Page Module:Citation/CS1/styles.css has no content."Software License". AutoHotkey. Retrieved 2022-06-08.
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
- ^ Page Module:Citation/CS1/styles.css has no content.Contact Erica Sadun: Comment (2005-08-19). "Ericasadun 2005 Life Hacker". Lifehacker.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Quick Reference | AutoHotkey". www.autohotkey.com.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey Tutorial: Macro and Hotkey Creation". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Hotstrings and Auto-replace (similar to AutoText and AutoCorrect)". Autohotkey.com. 2005-01-09. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Remapping Keys and Buttons". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Hotkeys, Hotstrings, and Remapping". Autohotkey.com. Retrieved 2018-05-23.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Author Chris Mallett's post on the AutoHotkey Forums". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."An AutoIt / AutoHotkey nonfunctional comparison". Paperlined.org. Archived from the original on 2011-12-08. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Author Chris Mallett's post on the AutoHotkey Forums". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Licensing Opinions - AutoIt Forums". Autoitscript.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Forum post by Chris, announcing AutoHotkey_L now main platform". Autohotkey.com. Retrieved 2011-12-02.
- ^ Page Module:Citation/CS1/styles.css has no content."Our History". The AutoHotkey Foundation. 2014-05-26. Retrieved 2016-07-23.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotekey.dll Module". github.io. Retrieved 2017-05-13.
- ^ Page Module:Citation/CS1/styles.css has no content."Hotkeyit's AutoHotkey_H fork". GitHub.
- ^ Page Module:Citation/CS1/styles.css has no content."Thqby's AutoHotkey_H fork". GitHub.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey_H subforum". AutoHotkey.com.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey v2". AutoHotkey.com. Retrieved 2021-07-28.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey v2.0-beta.1 - AutoHotkey Community". www.autohotkey.com. Retrieved 2022-01-11.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey v2.0-rc.1". AutoHotkey.com. Retrieved 2022-11-20.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey v2.0.0". AutoHotkey.com. Retrieved 2022-12-20.
- ^ Page Module:Citation/CS1/styles.css has no content."AutoHotkey v2 Official Release Announcement". AutoHotkey.com.
- ^ Page Module:Citation/CS1/styles.css has no content."End of Life: v1.1". AutoHotkey.com.
- ^ Page Module:Citation/CS1/styles.css has no content.".NET Framework Interop - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."AHK + LUA Interop (stdlib), proof of concept - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."ahklisp: lisp on win32 with cffi, sbcl, and autohotkey - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."ahkecl : Embedded common lisp in ahk - Scripts and Functions". AutoHotkey Community.
- ^ a b Page Module:Citation/CS1/styles.css has no content."Machine code functions: Bit Wizardry - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."Embedded Windows Scripting (VBScript & JScript) and COM - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."function hooks - Suggestions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."COM Standard Library - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."LibCon - AutoHotkey Library For Console Support - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."LowLevel & dynamic code - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."Human Interface Device(HID) Support".
- ^ Page Module:Citation/CS1/styles.css has no content."Automation IE7 Navigation and Scripting with Tabs - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."SmartGUI Creator :: - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."Sparrow: AHK WebServer w/ AHK in HTML support (sources incl) - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content."[tool] WinEventHook Messages - Scripts and Functions". AutoHotkey Community.
- ^ Page Module:Citation/CS1/styles.css has no content.Research, Cybereason Nocturnus. "Fauxpersky: CredStealer malware written in AutoHotKey masquerades as Kaspersky Antivirus, spreading through infecting USB drives". Retrieved 2018-03-29.
External links
- No URL found. Please specify a URL here or add one to Wikidata.
- AutoHotkey Foundation LLC
- The Automator Community and Resources