Choosing a Windows automation scripting language. AutoIt vs Autohotkey

92,043

Solution 1

I've used both very much.

AutoHotKey is very good at managing hotkeys and basic GUI automation. It's syntax is horrible and it's not meant for bigger applications.

AutoIt has almost every feature AutoHotKey has and much more. COM-automation support, arrays and a pretty nice UDF (User Defined Functions) library. It's harder to build complex hotkeys in AutoIt.

Solution 2

  • I think AutoHotkey's GUI implementation is easier to use like many of its commands.
  • AutoHotkey (no longer maintained) has 3 forks :
    • AutoHotkey v1.1.* (previously known as AutoHotkey_L) has COM, Unicode support, object-oriented -like syntax, arrays, and more.
    • AutoHotkeyCE works on Windows mobile PDA's and smartphones (unfinished, no longer maintained).
    • IronAHK, a .NET version of AutoHotkey (unfinished, no longer maintained).
  • AutoHotkey includes a DLL file that you can call from other programming languages (so does AutoIt).
  • AutoHotkey is open source, AutoIt is not.
  • You have to search the AutoHotkey site to put all tools together. AutoIt does better at packaging all in its initial download.

My vote is for AutoHotkey (AHK).

Solution 3

AutoIt is a tremendous tool and its seductive ease of use and immense library of UDFs, coupled with an unbeatable help file, is hard to compare to.

I tried AutoHotkey, but its clunky feel and shabby syntax turned me off. Why settle for the ugly sister when you can wine and dine the princess herself. AutoIt 100%.

Solution 4

I use both depending on the situation. AutoHotkey is nice for quick keystroke macros and AutoIt has a much broader range of automation functionality and user-defined functions (UDFs) allow a range of useful things such as XML and database interaction. When automation requires a lot of GUI interaction I use AutoIt.

Solution 5

I used AutoIt before AutoHotkey was created (when it had a syntax inherited from BAT files). I don't have enough experience with current AutoIt to make a correct comparison. It has a quite regular syntax, while AutoHotkey's syntax (although greatly improved from the original style) seems odd. People having never coded before actually love this syntax!

I hesitated, read numerous comparisons, and finally chose AutoHotkey despite its syntax. Partly because of its superior hotkey management, partly because it was open source. The author was active (he stopped, but there are alternative branches now) and open to suggestions. I shown a prototype of regular expression support using a PCRE DLL. He integrated the concepts and pushed them beyond (regular expression support in window name detection for example).

Documentation is excellent, detailed and full of examples with a comprehensive index. The community is very active and helpful. The binary is compact and you can make a standalone EXE file with your scripts. It also has GUI support (good for quick simple dialog windows).

I won't say one is better, the choice is mostly a matter of taste, feeling and needs.

Share:
92,043

Related videos on Youtube

PA.
Author by

PA.

ready to help #SOreadytohelp

Updated on July 08, 2022

Comments

  • PA.
    PA. almost 2 years

    I need to choose a Windows automation scripting language. Which one do you recommend; AutoIt, AutoHotkey, or an other?

    I have read "An AutoIt / AutoHotkey comparison". Interesting history, but without recommendation. Searching Google leaves around 312k hits for AutoHotkey Windows vs 482k for AutoIt Windows. On Stack Overflow there are 15 questions tagged vs 18 .

    I am interested in your opinion as programmers. Which one do you think is easier to use, more deployable and more powerful in terms of functionality? I have already used AutoHotkey for personal use, so my initial preference is for this.

    • Blen6035
      Blen6035 over 14 years
      AutoIt changed my life. It has became an invaluable tool in my work.
    • Milos
      Milos over 10 years
      Autoit wins for sure! Let me explain. Most of the Autoit users learn to code for the first time. Now, Autoit syntax is the proper one to get started with. After Autoit, you can learn other languages easily. From that perspective, AHK syntax is useless.
  • Samrat Patil
    Samrat Patil over 13 years
    +1 - When automation requires a lot of GUI interaction I use AutoIT. I wish I'd asked this first!
  • Unsigned
    Unsigned over 12 years
    Nonetheless AHK does have a intrinsically more arcane syntax, which is not as user- or beginner friendly as AutoIt. AutoIt is more developer friendly for large projects and supports a more modern, intuitive syntax. AHK really shines in what it's named for. Hotkeys. AutoIt can't even really compete there, imo.
  • Sabuncu
    Sabuncu almost 12 years
    AHK is great, its syntax, as mentioned, is terrible.
  • user4157124
    user4157124 over 6 years
    "... don't know its full capabilities and chose AutoIt." "AutoHotkey has 3 major forks that blow away AutoIt." AutoHotkey's forks served to keep up with AutoIt's functionality.
  • user3450548
    user3450548 almost 4 years
    Do libraries for firefox exists ? Because IE is not the best choice for interacting with websites nowadays...