但缺点同样明显,没有官方或第三方的完善标准库,入门后要进一步提升很困难(也因为水平有限),实现较复杂的需求时要么直接 Windows API 要么只能找别人封装好的函数(命令行或 COM 这样的东西有的才有)。我遇到不少用户从 AHK 入门后一些需求较高的用户则转向其他语言。
我写的教程从内容难易程度上大致可分为两类:
- 引导新用户入门;
- 缓解较高需求用户遇到的这种困境,标准库确实的问题解决方法有下面这些:
- 构建标准库:在可预见的将来官方尚不可能,而第三方也没有相应迹象;
- 直接调用 Windows API:我曾在论坛上发过的《Windows API 第一阶》可作为简要入门,但对于大多数用户仍非常困难;
- 调用含标准库的其他语言:我曾试验调用 AutoIt3 的标准库(相应文章发在论坛)。虽然成功但有两个问题较突出:一是其目标库函数的依赖问题不易解决(使用完整的 AutoIt3 文件包没问题,但打包成可执行文件就难了);二是通过 AutoIt3.exe 调用效率很低。(注:在 AutoHotkey_H 中,AutoHotkey.dll 在功能上与 AutoHotkey.exe 相当,但 AutoItX3.dll 的功能只是其对应可执行文件的简化版,希望通过这种方式执行 AU3 代码调用其标准库函数在当时行不通。)
我未曾尝试过其他语言。