请注意,您的 2 个脚本执行不同的操作。第一个检查它是否在计算机上。第二个检查它是否当前正在运行。所以这里是如何做第一件事。
set doesExist to false
try
do shell script "osascript -e 'exists application \"foo\"'"
set doesExist to true
end try
return doesExist
请注意,正如您所指出的,某些应用程序有多种名称。在这些情况下,您可以使用应用程序的捆绑包 ID 而不是它的名称。以下是如何获取 Safari 的 id 并使用它...
set appID to id of application "Safari"
exists application id appID
如果你想看看它是否正在运行,就像在你的第二个脚本中一样,你可以这样做......
set processIsRunning to true
tell application "System Events"
set runningProcesses to processes whose bundle identifier is appID
end tell
if runningProcesses is {} then set processIsRunning to false
return processIsRunning