在 Mac OS X 上使用 Ruby 关闭窗口

发布于 2024-10-17 04:28:58 字数 140 浏览 0 评论 0原文

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

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

I want to programmatically close a window using Ruby on Mac OS X (i.e. send "COMMAND+W" to the window, or click on the red X button in the top left corner).

I think there are things like this for Windows (e.g. win32api), but I do not know how to do it on Mac OS X.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

-小熊_ 2024-10-24 04:28:58

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

使用 ruby-gems 安装它:

$ sudo gem install rb-appscript

确保您要控制的程序支持 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

After some googling, the answer is: appscript.

Install it using ruby-gems:

$ sudo gem install rb-appscript

Make sure the program you are trying to control supports AppleScripting. I'm trying to control Google Sketchup, so I type the following into the bash prompt:

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

If you were controlling Preview, for instance, you would instead type the following:

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

Then make your script with the appropriate headers for appscript:

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

app('SketchUp').windows[0].close   # closes the window
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文