选择Windows自动化脚本语言。 AutoIt vs Autohotkey

时间:2009-11-06 11:20:46

标签: windows scripting automation autohotkey autoit

我需要选择Windows自动化脚本语言。你推荐哪一个; AutoItAutoHotkey或其他?

我读过“An AutoIt / AutoHotkey comparison”。有趣的历史,但没有推荐。搜索Google的AutoHotkey Windows点击次数约为312k次,AutoIt Windows点击量为482k次。在Stack Overflow上有15个问题标记为 vs 18

我对您作为程序员的意见感兴趣。您认为哪一个更易于使用,更易于部署且功能更强大?我已经将AutoHotkey用于个人用途,所以我最初的偏好就是这个。

7 个答案:

答案 0 :(得分:79)

  • 我认为AutoHotkey的GUI实现比许多命令更容易使用。
  • AutoHotkey(不再维护)有3个分叉:
    • AutoHotkey v1.1。*(以前称为AutoHotkey_L)具有COM,Unicode支持,面向对象的语法,数组等。
    • AutoHotkeyCE适用于Windows移动PDA和智能手机(未完成,不再维护)。
    • IronAHK,AutoHotkey的.NET版本(未完成,不再维护)。
  • AutoHotkey包含一个可以从其他编程语言调用的DLL文件(AutoIt也是如此)。
  • AutoHotkey是开源的,AutoIt不是。
  • 您必须搜索AutoHotkey网站以将所有工具放在一起。 AutoIt在初始下载中打包时效果更好。

我的投票是AutoHotkey(AHK)。

答案 1 :(得分:41)

我非常喜欢这两个。

AutoHotKey非常擅长管理热键和基本的GUI自动化。它的语法很糟糕,并不适合更大的应用程序。

AutoIt几乎具有AutoHotKey的所有功能以及更多功能。 COM自动化支持,数组和非常好的UDF(用户定义函数)库。在AutoIt中构建复杂的热键更加困难。

答案 2 :(得分:15)

我根据情况使用两者。 AutoHotkey适用于快速击键宏,AutoIt具有更广泛的自动化功能,用户定义函数(UDF)允许一系列有用的东西,如XML和数据库交互。当自动化需要大量GUI交互时,我使用AutoIt。

答案 3 :(得分:15)

AutoIt是一个巨大的工具,其诱人的易用性和巨大的UDF库,加上无与伦比的帮助文件,很难与之比较。

我尝试了AutoHotkey,但其笨重的感觉和破旧的语法让我失望。当你可以自己品酒和用餐时,为什么要为这个丑陋的妹妹安顿下来。 AutoIt 100%。

答案 4 :(得分:12)

我在创建AutoHotkey之前使用AutoIt(当它具有从BAT文件继承的语法时)。我没有足够的经验与当前的AutoIt进行正确的比较。它有一个非常规则的语法,而AutoHotkey的语法(虽然从原始风格大大改进)似乎很奇怪。以前从未编码的人真的喜欢这种语法!

我犹豫了,阅读了大量的比较,最后选择了AutoHotkey,尽管它的语法。部分原因在于其出色的热键管理,部分原因在于它是开源的。作者很活跃(他停了下来,但现在有另外的分支),并接受建议。我使用PCRE DLL展示了正则表达式支持的原型。他整合了这些概念并将其推广(例如,在窗口名称检测中使用正则表达式支持)。

文档非常好,详细且充满了包含综合索引的示例。社区非常积极和乐于助人。二进制文件很紧凑,您可以使用脚本创建独立的EXE文件。它还具有GUI支持(适用于快速简单的对话框窗口)。

我不会说一个更好,选择主要是品味,感觉和需求。

答案 5 :(得分:11)

我使用AutoHotkey并认为语言很难。我想它要么是后天的味道,要么是某些人对它有亲和力。我是一位长期以来完美的键盘用户,但我现在是AutoIt的忠实粉丝。

虽然它像Basic一样,我仍然可以编写对我来说最舒服的“C”式程序。 而AutoIt的库,节省时间。例如,IE库具有许多非常有用的功能。 良好的IDE和活跃的用户社区。

我的投票是AutoIt。

答案 6 :(得分:7)

我对AutoIt非常满意。这种语言很简单。它们包括很棒的帮助文件,一个脚本编译器,一个不仅理解语法而且支持 F1 寻求帮助等的编辑器。它们有很多代码示例。

我没有使用AutoHotKey的第一手经验 - 我记得考虑过它,但自从使用AutoIt后我再也没有回头。