首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Applescript API文档

Applescript API文档
EN

Stack Overflow用户
提问于 2012-07-28 17:56:17
回答 3查看 2.7K关注 0票数 7

我想做一个MacBook Pro Retina自动切换分辨率的AppleScript。

在互联网上搜索"applescript系统首选项“,我偶然发现了a page,其中显示了一些首选项。作为缩放分辨率的新事物,它没有文档记录。

这给我的AppleScript带来了一个更大的问题(请记住,除了复制-粘贴一些我从未真正在其中编程过的东西)。例如,告诉我系统首选项对象实际上被称为“系统首选项”的文档在哪里,它有名为“窗格”的对象,它们有一个id,以及暴露id是"com.apple.preference.expose"?

似乎每个程序都必须有某种“秘密”文档,而且它们必须是巨大的,映射所有的对象层次结构和可能的操作。最后,AppleScript核心是最小的,您所要做的就是操纵这样的程序。但是它们在哪里被记录下来呢?

EN

回答 3

Stack Overflow用户

发布于 2012-07-28 19:18:05

我觉得你说的很对。每个程序都有自己的applescript文档。它被称为applescript字典。您可以通过以下任一项查看任何应用程序的字典...

1)在AppleScript编辑器的“文件”菜单下,选择“打开字典...”。你可以从那里选择一个应用程序,它将显示它的字典。

2)将应用程序拖放到AppleScript编辑器的图标上。

3)有一个用于快速访问的常用字典列表。在AppleScript编辑器的窗口菜单下,选择“库”。您可以双击该列表中的应用程序。您还可以修改该列表以包含列表中所需的词典。

祝好运。

票数 7
EN

Stack Overflow用户

发布于 2013-04-29 16:56:38

您可以让AppleScript告诉您每个窗格的ids。

代码语言:javascript
复制
tell application "System Preferences" to get the id of every pane

这特别方便,因为它将告诉您已安装的任何第三方首选项窗格的it。例如,我能够计算出我的微软自然键盘的窗格名为com.microsoft.microsoftkeyboard

我还没有真正探索过这些,但我希望有类似的语法来标识任何可脚本化应用程序中的对象。

票数 0
EN

Stack Overflow用户

发布于 2018-03-23 23:05:07

我有另一个问题,但你可以看看我的问题,因为在我的脚本中有一些关于你的问题的提示

HOW TO: display a check mark, disable a menu item, refresh a menubar

例如:

代码语言:javascript
复制
tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
end tell

此代码应直接将您置于系统首选项的分辨率首选项中。

然后,您可以编写代码来恢复窗格的所有UI元素,以便您现在就可以触发哪个操作。类似这样的东西也应该可以工作:

代码语言:javascript
复制
tell application "System Events"
tell application process "System Preferences"
    set frontmost to true
    delay 1
    return every UI element of front window
    return name of every UI element of front window
end tell

结束讲述

希望能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11700006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档