我是 Mac 的新用户,在使用 Windows 时,我曾使用 AutoHotkey 来为 Photoshop 快捷键分配 NumPad 键。我听说,为了做同样的事情,可以使用 IronAHK,它完全相同,但可以在 Mono 上运行。我尝试安装 Mono,但我不知道我是否安装了正确的东西,如何使用它……或者如何启动我的 IronAHK。
有人能帮助我、指导我一下吗?
答案1
这对我来说很管用。我从以下网站下载了 Mono MREhttp://download.mono-project.com/archive/3.8.0/macos-10-x86/。
最新的 3.10.0 版本有问题,我收到了一些关于错误的错误报告——“无法执行:GdipCreateFromContext_macosx”。运行没有此错误的 Mono 3.8 版本的安装程序。我无法在我的 Maverick 版本的操作系统上使用 IronAHK 让 3.10 完全正常工作。
如果尚未安装 xquartz 和 xcode,则可能需要安装它们(我相信 xcode 可从应用商店获取)。有关 xquartz 的信息在另一个答案中。我不能 100% 确定它们是必需的,但可能是必需的。
接下来从 github.com/polyethene/IronAHK/releases 下载并解压 IronAhk 的最新发布 zip 文件。该“站点”只是一个 github repo,因此没有太多可看的内容,文档也很少。解压的存档中的 setup.sh 文件对我来说不起作用,所以我需要使用 make 文件。
我打开终端并更改为解压文件的目录并输入:
make
完成后(忽略一些关于无法访问代码的警告),我输入:
sudo make install
将 ironahk 安装到 /usr/bin/ironahk
您可以尝试通过切换到解压文件中的 IronAHK 目录来运行它
ironahk Example.ahk
如果您看到弹出窗口,则表示成功了。我遇到了错误,因此必须在调用程序之前设置环境变量以使其工作。
所以这对我有用:
LD_LIBRARY_PATH=/Library/Frameworks/Mono.framework/Versions/current/lib ironahk Example.ahk
附言:这运行了示例脚本,但我在运行一些使用键盘热键的脚本时遇到了一些问题。我相信拦截键盘输入的程序的 MacOS 安全模型已经发生了变化,因此可能很难运行。该程序的最后一次更新(截至目前)是在 2010 年,所以这似乎是一个相当死的项目。
答案2
假设您已经像所说的那样安装了 mono,那么您应该能够安装 IronAhk,方法是转到 ironAhk 网站并下载二进制文件,该文件以压缩文件夹的形式提供,打开它并从终端运行 setup.sh。
如果您执行 ./setup.sh,它会告诉您它的默认安装目录在哪里,在 mac /usr 上从终端运行 sudo ./setup.sh install 它就会安装它。
进入 /usr/bin 文件夹并运行 IronAhk,它会显示未指定源路径。
给它一个源路径,下载中提供的 example.ahk
这可能会给你一个错误信息:
无法执行:System.Windows.Forms.WindowsFormsSynchronizationContext 的类型初始化程序引发了异常
要解决此问题,您需要安装 Xquartz: http://xquartz.macosforge.org/landing/
之后,您注销、登录并运行上面的示例,它将为您提供一个小小的 hello world msgBox。