选择 Windows 自动化脚本语言

我需要选择一个视窗自动化脚本语言,你推荐哪一个?

我读过《 AutoIt/AutoHotkey 比较》。有趣的历史,但没有推荐信。在谷歌搜索中,AutoHotkey Windows的点击量约为31.2万次,而 AutoIt Windows的点击量为48.2万次。在 Stack Overflow 上有15个标记为 和18个 的问题。

作为程序员,我对你的观点很感兴趣。你认为哪一个更容易使用,更可部署,功能更强大?我已经使用自动热键为个人使用,所以我最初的首选是这个。

94013 次浏览

I have been extremely happy with AutoIt. The language is an easy flavor of Basic. They include great help files, a script compiler, an editor that understands not only the syntax but supports F1 for help, etc. They have plenty of code samples.

I don't have any first hand experience with AutoHotKey - I do remember considering it, but I've never looked back since using AutoIt.

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.

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.

I worked with AutoHotkey and thought the language was difficult. I suppose it is either an acquired taste or some people have affinity for it. I was a long-time Perfect Keyboard user but am now a huge fan of AutoIt.

Though it is Basic-like I can still write "C" -like programs which is most comfortable for me. And the libraries for AutoIt, what a time saver. For example, the library for IE has a lot of great and useful functions. Good IDE and active user community.

My vote is with AutoIt.

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.

  • 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).

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%.