Introduction

What is AutoHotkey?

AutoHotkey is a powerful scripting language for Windows, focused on automation and hotkeys. It allows you to easily manipulate other programs, create custom hotkeys and “hotstrings”, interact with the user, read, create and manage files and a lot more.

With AutoHotkey, you can also use big parts of the Windows API, interact with Web applications, use COM and more.

With these both simple and advanced features, AutoHotkey is as well suitable for beginners as for advanced programmers that want to customize their environment or automate common tasks.

AutoHotkey was originally developed by Chris Mallett. Today, there are a lot of custom versions and additions, which we will cover in Chapter 1.

What can AutoHotkey do?

Nearly everything. Aside from making toast, no one has yet found a task that can’t be done with AutoHotkey in some way. Some of these ways are simple, some are not very elegant, some are rather obscure, however, they work.

What can’t AutoHotkey do?

There are just two things:

Both issues might be (partially) solved later by the IronAHK version.

When and why should I use AutoHotkey?

You should use AutoHotkey because it is easy to use and to learn, because it offers simple solutions, because it has advanced features, because it is a great and helpful language to learn.

In the beginnings, you should of course start with easy things. But you’re not limited to them: people write complex and large software in AutoHotkey. As an example, large parts of the recommended editor for AutoHotkey, Scite4AutoHotkey, are written in AutoHotkey.

You can use AutoHotkey for game scripts, for quick macros, for tasks that take hours, for deep system modifications, for automating other applications through their window or through other interfaces, and a lot more.

Index

Note: This list and its order are not set in stone. Feel free to change it.

  1. What AutoHotkey version to choose?

  2. First steps

  3. A guide to the manual

  4. A guide to the AutoHotkey forums

  5. Let’s start

  6. Documenting your code

  7. User-defined functions

  8. Into the web: downloading, HttpRequests, httpQuery() and more

  9. A bit of advanced stuff

  10. custom GUI controls

  11. COM

  12. OOP

  13. Libraries