107

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

我已阅读“ AutoIt / AutoHotkey 比较”。有趣的历史,但没有推荐。搜索 Google 会留下大约 312k 的点击AutoHotkey Windows量,而AutoIt Windows. 在 Stack Overflow 上有 15 个问题标记为 vs 18

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

4

7 回答 7

85
  • 我认为 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)。

于 2010-03-27T09:24:10.987 回答
45

这两个我都用过很多。

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

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

于 2009-11-29T10:49:34.163 回答
16

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

我犹豫了一下,看了很多比较,最后还是选择了 AutoHotkey,尽管它有语法。部分是因为它卓越的热键管理,部分是因为它是开源的。作者很活跃(他停止了,但现在有替代分支)并对建议持开放态度。我展示了一个使用PCRE DLL支持正则表达式的原型。他整合了这些概念并将它们推向了超越(例如窗口名称检测中的正则表达式支持)。

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

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

于 2009-12-03T16:38:45.423 回答
16

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

于 2010-03-10T19:05:04.397 回答
16

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

我试过 AutoHotkey,但它笨拙的感觉和破旧的语法让我很反感。既然可以亲自为公主美酒佳肴,何必还为丑妹妹而安定呢。自动 100%。

于 2010-07-18T22:38:35.833 回答
11

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

虽然它类似于 Basic,但我仍然可以编写对我来说最舒服的类似“C”的程序。还有 AutoIt 的库,多么节省时间。例如,IE 的库有很多很棒且有用的功能。良好的 IDE 和活跃的用户社区。

我的投票是 AutoIt。

于 2009-12-17T08:49:14.613 回答
7

我对 AutoIt 非常满意。该语言是 Basic 的简单风格。它们包括很好的帮助文件、脚本编译器、不仅理解语法而且支持F1帮助的编辑器等。它们有大量的代码示例。

我对 AutoHotKey 没有任何第一手经验——我确实记得考虑过它,但自从使用 AutoIt 后我就再也没有回头。

于 2009-11-06T14:21:55.333 回答