选择 Windows 自动化脚本语言。 AutoIt vs Autohotkey [关闭]
Posted
技术标签:
【中文标题】选择 Windows 自动化脚本语言。 AutoIt vs Autohotkey [关闭]【英文标题】:Choosing a Windows automation scripting language. AutoIt vs Autohotkey [closed] 【发布时间】:2010-12-13 19:19:40 【问题描述】:我需要选择一种 Windows 自动化脚本语言。你推荐哪一个; AutoIt、AutoHotkey 还是其他?
我已阅读“An AutoIt / AutoHotkey comparison”。有趣的历史,但没有推荐。搜索 Google 后,AutoHotkey Windows
的点击量约为 312k,而AutoIt Windows
的点击量为 482k。在 *** 上有 15 个问题被标记为 autoit vs 18 个问题被标记为 autohotkey。
我对你作为程序员的意见很感兴趣。您认为哪一个更易于使用、更可部署且功能更强大?我已经将 AutoHotkey 用于个人用途,所以我最初的偏好是这个。
【问题讨论】:
AutoIt 改变了我的生活。它已成为我工作中的宝贵工具。 Autoit 肯定会赢!让我解释。大多数 Autoit 用户都是第一次学习编码。现在,Autoit 语法是合适的入门语法。在 Autoit 之后,您可以轻松学习其他语言。从这个角度来看,AHK 语法毫无用处。 【参考方案1】: 我认为 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)。
【讨论】:
"...不了解它的全部功能,所以选择了 AutoIt。" "AutoHotkey 有 3 个主要的分支,足以击败 AutoIt。" AutoHotkey 的分支用于跟上 AutoIt 的功能。 仅供参考:为什么你说 AutoHotkey 不再被维护?在它的官方网站上,最后一个版本是:当前版本:v1.1.33.00 - 2020 年 6 月 30 日 - 我知道答案是 2018 年 3 月 4 日,但仍然在 2018 年 AHK 仍然被维护...... @user3450548 当前的 AHK 是原版的一个分支(反过来又是 AutoIt 的一个分支)。【参考方案2】:这两种我都用过。
AutoHotKey 非常擅长管理热键和基本的 GUI 自动化。它的语法很糟糕,并不适用于更大的应用程序。
AutoIt 几乎拥有 AutoHotKey 的所有功能,甚至更多。 COM 自动化支持、数组和一个非常好的 UDF(用户定义函数)库。在 AutoIt 中构建复杂的热键更加困难。
【讨论】:
尽管如此,AHK 确实有一种本质上更神秘的语法,它不像 AutoIt 那样对用户或初学者友好。 AutoIt 对大型项目更友好,支持更现代、更直观的语法。 AHK 真正闪耀的是它的名字。热键。 AutoIt 甚至无法真正在那里竞争,imo。 AHK 很棒,如前所述,它的语法很糟糕。【参考方案3】:我根据情况使用两者。 AutoHotkey 非常适合快速击键宏,AutoIt 具有更广泛的自动化功能和用户定义函数 (UDF) 允许一系列有用的东西,例如 XML 和数据库交互。当自动化需要大量 GUI 交互时,我会使用 AutoIt。
【讨论】:
+1 -When automation requires a lot of GUI interaction I use AutoIT.
我希望我先问这个!【参考方案4】:
我在创建 AutoHotkey 之前使用了 AutoIt(当它具有从 BAT 文件继承的语法时)。我对当前的 AutoIt 没有足够的经验来进行正确的比较。它有一个非常规则的语法,而 AutoHotkey 的语法(虽然从原来的风格有了很大的改进)看起来很奇怪。以前从未编码过的人实际上喜欢这种语法!
我犹豫了一下,看了很多比较,最后还是选择了 AutoHotkey,尽管它的语法。部分是因为它卓越的热键管理,部分是因为它是开源的。作者很活跃(他停止了,但现在有替代分支)并对建议持开放态度。我展示了一个使用PCRE DLL 支持正则表达式的原型。他整合了这些概念并将它们推向了超越(例如窗口名称检测中的正则表达式支持)。
文档非常好,详细且充满示例和综合索引。社区非常活跃,乐于助人。二进制文件很紧凑,您可以使用脚本制作独立的 EXE 文件。它还具有 GUI 支持(适用于快速简单的对话框窗口)。
我不会说一个更好,选择主要是品味,感觉和需求的问题。
【讨论】:
【参考方案5】:AutoIt 是一款出色的工具,其诱人的易用性和庞大的 UDF 库,再加上无与伦比的帮助文件,难以与之相比。
我尝试了 AutoHotkey,但它笨拙的感觉和破旧的语法让我很反感。既然可以亲手为公主美酒佳肴,何必为丑姐姐安分。 AutoIt 100%。
【讨论】:
【参考方案6】:我使用 AutoHotkey 并认为该语言很难。我想这要么是一种后天的品味,要么是某些人对它有亲和力。我是完美键盘的长期用户,但现在是 AutoIt 的忠实粉丝。
虽然它类似于 Basic,但我仍然可以编写对我来说最舒服的类似“C”的程序。 还有 AutoIt 的库,多么节省时间。例如,IE 的库有很多很棒且有用的功能。 良好的 IDE 和活跃的用户社区。p>
我的投票是 AutoIt。
【讨论】:
Firefox 的库是否存在?因为IE不是当今与网站交互的最佳选择...【参考方案7】:我对 AutoIt 非常满意。该语言是 Basic 的简单风格。它们包括很好的帮助文件、脚本编译器、不仅理解语法而且支持 F1 帮助的编辑器等。它们有大量的代码示例。
我没有任何使用 AutoHotKey 的第一手经验 - 我确实记得考虑过它,但自从使用 AutoIt 后我再也没有回头。
【讨论】:
以上是关于选择 Windows 自动化脚本语言。 AutoIt vs Autohotkey [关闭]的主要内容,如果未能解决你的问题,请参考以下文章