有没有一种方法可以使所有应用程序使用“ whose”关键字运行?

时间:2019-03-29 20:56:31

标签: applescript

我试图弄清楚如何在applescript中使用who关键字。但谷歌似乎没有任何参考。我尝试使用以下代码:

set open_applications to get application whose running is true

我尝试使用来自另一个堆栈溢出问题的引用,但我不想测试应用程序是否打开并进行了任何交互。我还检查了谷歌。请帮我解决这个问题!

1 个答案:

答案 0 :(得分:0)

“所有应用程序”是一个模糊的术语,因为它可能指的是每个正在运行的进程,我认为您并不想要它。或对具有交互式用户界面的应用程序或可见应用程序的限制;或在AppleScript上下文中专门指正在运行可编写脚本的应用程序。

我将其解释为希望获得一系列实用的应用程序,并且省略了通常不知道的系统应用程序。而且,由此,我对/Applications文件夹中的应用程序基本感兴趣:

tell application "System Events" to get the name of every process ¬
    where its application file's POSIX path starts with ("/Applications") ¬
    and its application file's name extension = ("app")

注意::带引号的字符串之间的括号不是语法的;它们仅有助于在脚本编辑器脚本调试器中保留多行格式。

这将返回您将识别的应用程序名称,但不包括驻留在~/Library/Library中的熟悉的系统应用程序,包括 Finder 系统事件

如果您需要其他类型的应用程序列表,请随时阐明您的特定需求(或描述您将使用该列表的目的,这实际上可能是更有用的细节),我可以添加此答案。