我试图弄清楚如何在applescript中使用who关键字。但谷歌似乎没有任何参考。我尝试使用以下代码:
set open_applications to get application whose running is true
我尝试使用来自另一个堆栈溢出问题的引用,但我不想测试应用程序是否打开并进行了任何交互。我还检查了谷歌。请帮我解决这个问题!
答案 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 或系统事件。
如果您需要其他类型的应用程序列表,请随时阐明您的特定需求(或描述您将使用该列表的目的,这实际上可能是更有用的细节),我可以添加此答案。