even wikipedia can't tell

17 Things Wikipedia Can’t Tell You about AutoHotkey

even wikipedia can't tellWikipedia is regarded as one of the best encyclopedias available on the internet.

Therefore, it provides information on almost anything and everything. But, when it comes to AutoHotkey, AHK for short, it really lacks to provide authentic and essential information.

The information currently present on the AutoHotkey’s Wikipedia page is not very enticing for the reader and also isn’t good enough for someone who is planning to learn AutoHotkey.

After noticing this dearth of knowledge of AutoHotkey on Wikipedia, I feel compelled to write an informative article, a listicle to be exact, to list all the things AutoHotkey’s Wikipedia page fails to address.

So, here is the list I compiled of 17 Things Wikipedia Can’t Tell You about AutoHotkey.

  1. Scope: Although Wikipedia provides some basic and necessary information about AutoHotkey but it fails to inform the readers about its scope which is very important. Anyone who is interested to know and learn AutoHotkey, would also be interested in knowing the scope of AutoHotkey which is quite broad. AutoHotkey is not simply a tool to create keyboard shortcuts but it is also a fully functional language that can perform a variety of functions and operations, some of which are detailed in the latter part of this post.
  1. Importance: AutoHotkey is a fairly important as by learning it, the learner would be increasing their skillset, which will eventually prove to be useful in job and college applications. With its own syntax and completely functional codes, AutoHotkey is also presented as an added bonus when it comes to mentioning programming experience in any job interview. Wikipedia fails to address such key points on the importance of AutoHotkey, which would definitely increase a learner’s interest.
  1. Syntax: AutoHotkey’s Wikipedia page, although has a few AHK scripts but it does not clearly define the syntax of AHK. Syntax of any language is actually the set of rules of writing that particular language such as, for AHK, the basics of these rules include various keys and their symbols. Like the Control (Ctrl) key is denoted by ‘^’, Windows Logo Key is denoted by ‘#’, Alt has the symbol ‘!’ and Shift key has the symbol ‘+’.
  1. Variables and Expressions: Variables are pieces of memory locations where data is stored. AutoHotkey does not have explicitly defined variable types. It considers any variable as a number if the variable contains digits and an optional decimal. All the variables defined in AHK have global scope and the variable names are not case sensitive. Whereas, Expressions are simply used to perform operations between variables, literal strings and string numbers.
  1. Commands and Functions: Functions or commands are a set of instructions that are used to perform specific operations. Functions can be built-in and can also be created by the users to cater their specific needs. Functions created by the user are known as user-defined functions. The AHK functions also perform various tasks, and a wide variety of functions and commands are available on the AutoHotkey official site which is included in the last point of this post. To take very simple examples of functions, suppose these three trigonometric functions and the tasks they perform:
    Sin() = Returns the trigonometric sine of Number
    Cos() = Returns the trigonometric cosine of Number
    Tan() = Returns the trigonometric tangent of Number
  1. Objects and Component Object Model (COM): In AutoHotkey, Objects are simply abstract datatype which perform three basic functions;
    • GET a value
    • SET a value
    • CALL a method

    There are many types of Objects used in AHK, such as, an Object which is a script-able associative array, a File which provides an interface for file input/output, Function Objects like Func, BoundFunc or user-defined functions and finally ComObjects which are simply referred to as COM. COM is the abbreviation of Component Object Model, which is majorly used to create objects in AHK scripts.

  1. Flow of Control: Flow of Control includes such keywords that maintain the flow of the AHK script. Keywords including, For-loop, Else, Goto, Break, Catch, Finally are all part of the Flow of Control of the AutoHotkey.
  1. Built-in Functions: As mentioned earlier, Functions are either built-in or defined by the user, known as user-defined functions. Since each function performs a particular task, built-in functions of AHK are an important part of the AHK library. A few notable built-in functions are, NumGet which gets the number, StrLen which gets the length of a string and provides a number as the output, StrSplit which splits a string, StrReplace which replaces the string.
  1. Sound Commands: Unlike the orthodox programming languages, AutoHotkey also has sound commands that are used to manipulate the sounds a computer produces. The names of such commands are SoundBeep, SoundGet, SoundGetWaveVolume, SoundPlay, SoundSet and SoundSetWaveVolume.
  1. Math Functions: AHK is fully capable of performing a variety of math operations too. Apart from the basic arithmetic, it has a few very special math functions, each of which have a specific task to perform. The names of a few of the notable math functions are Abs, Ceil, Floor, Log, Mod, Random, Sqrt, Sin, Cos, Tan, Round.
  1. Window Management: AutoHotkey also provides a specific set of functions that are used to manipulate the window of any application. Such functions are classified under the category of Window Management. The names of these functions are intuitive, which means that the names themselves contain whatever task they perform. A few of the notable functions of Window Management are, WinActivate, WinGet, WinClose, WinHide, WinGetText, WinKill, WinMaximize, WinMinimize, WinMinimizeAll, WinMove.
  1. Web Scraping Scripts: AHK is also used to create shortcuts to run a web browser or open a particular website by simply pressing a few keys. Such tasks are performed by AutoHotkey’ Web Scraping Scripts. There are a range of Web Scraping scripts available on the internet and many in the forums of AHK, some of which are included in the last point of this listicle.
  1. Debugging: Debugging means to find errors in code. For specifically AHK, Wikipedia fails to address the aspect of debugging an AHK script. Debugging is an important skill for programmers of any programming language, debugging tips of AHK scripts can be found on the resources listed below.
  1. Ability of Integration with Applications: AHK has this great ability to get integrated with various applications. An example of this fact, is already discussed in point number 12, as I mentioned that AHK can be used to open a web browser, directly, with simply pressing a few keys. So, apart from browsers, AHK can also be integrated with Microsoft Office Suite Applications such as Microsoft Word, Microsoft Excel, and can furthermore be integrated with most of the applications that come with the Windows Operating System.
  1. Plugin for Software: AutoHotkey scripts can be written in notepad as simple texts which are then converted into scripts by saving the file with .ahk extension. If Notepad is not good enough for you, there are other applications which can be used to serve as a replacement for Notepad. One of such applications is Notepad++. AHK now has plugin for applications like Notepad++ which recognize AHK scripts as soon as they are written.
  1. Forums for AHK: Although there aren’t many forums available for AHK as it is starting to pick up the pace in getting popularity, a couple of forums that are quite helpful for questions and learning more about AHK are:



  1. Resources to Learn AHK: There are tons and tons of resources available over the internet to learn AHK right away, here are the most important ones:

www.autohotkey.com (Official Site)

www.autohotkey.com/docs/AutoHotkey.htm (Official Documentation)

www.github.com/ahkscript/awesome-AutoHotkey (Many Resources and Libraries)

www.the-automator.com (Great Tutorials)

www.jacksautohotkeyblog.wordpress.com/author/jackdunning/ (More Tutorials)

Do let me know if you think I missed a point or left something out you feel need to be there!

Leave a Reply