gpt4 book ai didi

applescript - 使用 AppleScript 检查应用程序是否存在

转载 作者:行者123 更新时间:2023-12-04 23:05:08 28 4
gpt4 key购买 nike

此代码不适用于不存在的应用程序,因为它提示用户查找“FooApp”(我不想与用户交互):

get exists application "FooApp"

此代码仅适用于其进程名称与其应用程序名称匹配的应用程序,它涵盖了大多数但不是所有应用程序:
tell application "System Events"
get exists application process "FooApp"
end tell

(例如在我的机器上“OmniGraffle Professional”是一个进程名称,但相应的应用程序名称是“OmniGraffle Professional 4”。)

最佳答案

请注意,您的 2 个脚本执行不同的操作。第一个检查它是否在计算机上。第二个检查它当前是否正在运行。所以这里是如何做第一件事。

set doesExist to false
try
do shell script "osascript -e 'exists application \"foo\"'"
set doesExist to true
end try

return doesExist

请注意,正如您所指出的,某些应用程序具有多种名称。在这些情况下,您可以使用应用程序的 bundle 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

关于applescript - 使用 AppleScript 检查应用程序是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14297644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com