首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AppleScript按名称访问上下文菜单项

使用AppleScript按名称访问上下文菜单项
EN

Stack Overflow用户
提问于 2014-07-25 14:25:31
回答 2查看 1.7K关注 0票数 1

我正在尝试使用AppleScript在Logic Pro中点击上下文菜单项,最好是简单地提供菜单项的名称。这看起来应该是可能的,因为我能够使用系统首选项并提供命令的名称来为这些上下文菜单项设置键盘快捷键。

例如,如果您右击Logic中的主编辑窗口,将弹出一个菜单,其中包含一个名为"Add Audio File...“的选项。如果我为Logic创建了一个系统首选项键盘快捷键,并赋予它这个菜单项名称,它就能够正常执行。我想用一个脚本重新创建它。我熟悉使用层次结构访问普通菜单项,如下所示:

代码语言:javascript
运行
复制
        tell process "Logic Pro"
            tell menu bar 1
                tell menu bar item "File"
                    tell menu "File"
                        click menu item "Save"

但据我所知,没有办法像这样访问我想要的上下文菜单(右键菜单)。似乎应该有一种方法可以简单地通过名称访问非菜单栏菜单项,因为系统首选项显然能够做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2014-07-25 14:45:02

Logic pro不是脚本化的,所以我的建议是你在系统偏好设置中设置键盘快捷键,然后使用系统事件来使用这些快捷键。

例如,进入find模式(假设有find模式,因为我没有Logic Pro)

代码语言:javascript
运行
复制
tell application "Logic Pro" to activate

tell application "System Events"
    tell application process "Logic Pro"
        keystroke "f" using command down
    end tell
end tell
票数 0
EN

Stack Overflow用户

发布于 2014-08-02 19:47:01

我不认为你需要使用上下文菜单。“添加音频文件…”在Logic Pro X用户界面的其他部分中可用。如果您打开项目音频窗口,有一个带有“添加音频文件…”的“音频文件”菜单按钮。把按钮插进去。因此,此AppleScript将激活“添加音频文件…”命令:

代码语言:javascript
运行
复制
tell application "System Events"
    tell application "Logic Pro X" to activate
    tell process "Logic Pro X"
        tell menu bar 1
            click menu item "Open Project Audio" of menu "Window"
        end tell
        delay 1
        tell window 1
            click menu button "Audio File" of group 1 of group 1
            click menu item "Add Audio File..." of menu 1 of menu button "Audio File" of group 1 of group 1
        end tell
    end tell
end tell

如果分发GUI脚本,需要记住的一件事是,上面的脚本只能在设置为美国英语(可能还有其他类型的英语)的Mac上运行的Logic Pro X中工作,因为如果系统设置为另一种语言,菜单的名称会发生变化。你能做的就是用数字替换上面脚本中的名字,据我所知,这是一个完全实验性的过程。你必须尝试不同的数字,看看哪个继续有效。

因此,您可以替换:

代码语言:javascript
运行
复制
menu button "Audio File" of group 1 of group 1

…在上面的脚本中:

代码语言:javascript
运行
复制
menu button 1 of group 1 of group 1

…并获得相同的功能,该脚本可以在任何Mac上运行。或者你可能需要使用“菜单按钮2”。上述脚本中的其他命名项也是如此。

还请记住,您向其分发此脚本的用户必须授予系统事件在系统首选项的安全窗格中控制其Mac的权限,否则此脚本将不起作用。这可能是分发GUI脚本的一个巨大障碍。如果你将你的脚本保存为应用程序,你必须对它进行数字签名,否则它将无法在其他人的计算机上运行,这可能会很复杂。

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

https://stackoverflow.com/questions/24949335

复制
相关文章

相似问题

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