使用Ruby在Mac OS X上关闭Windows

时间:2011-02-13 03:42:26

标签: ruby macos api

我想以编程方式在Mac OS X上使用Ruby关闭窗口(即将“COMMAND + W”发送到窗口,或者单击左上角的红色X按钮)。

我认为Windows有这样的东西(例如win32api),但我不知道如何在Mac OS X上这样做。

1 个答案:

答案 0 :(得分:1)

经过一些谷歌搜索,答案是:appscript

使用ruby-gems安装它:

$ sudo gem install rb-appscript

确保您尝试控制的程序supports AppleScripting。我正在尝试控制Google Sketchup,因此我在bash提示符中输入以下内容:

$ defaults write /Applications/Google\ SketchUp\ 8/SketchUp.app/Contents/Info NSAppleScriptEnabled -bool YES

例如,如果您正在控制预览,则应输入以下内容:

$ defaults write /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool YES

然后使用适当的appscript标题创建脚本:

#!/usr/bin/ruby
require 'rubygems'
require 'appscript'
include Appscript   # note the lack of quotes

app('SketchUp').windows[0].close   # closes the window