gpt4 book ai didi

AppleScript,通过 id 安全地退出应用程序

转载 作者:行者123 更新时间:2023-12-02 01:08:49 24 4
gpt4 key购买 nike

可以在 Mac 上运行同一应用程序的多个实例或副本。但是 AppleScript 似乎无法分别识别它们。假设我的应用程序是“FileMaker Pro”,并且我有多个副本在运行。让 AppleScript 告诉“FileMaker Pro”退出,我相信会退出第一个运行的程序,这可能不是我希望它退出的程序。

我想编写一个脚本,首先识别最前面的应用程序,然后去做一些其他事情(这可能会将其他应用程序带到最前面)然后安全地退出它在开始时识别的原始最前面的应用程序。

我做过的一些谷歌搜索找到了建议,我通过进程 ID 识别最前面的应用程序,然后

do shell script "kill ..."

但据我所知,“kill”不会要求保存更改等(因此它不会安全退出)。

我希望此脚本执行 AppleScript 退出命令或从文件菜单中手动选择退出所执行的操作,包括要求保存更改或其他任何操作。

这可能吗?如果是怎么办?

最佳答案

对于应用程序的副本:可以使用应用程序的路径而不是名称。

tell application "System Events"
tell (first application process whose frontmost is true)
set x to its application file -- get the path of this application (the result is an alias of "System Events")
end tell
set thisAppPath to path of x -- get the path (a string)
end tell

--- *** go off and do some other stuff ****
---


--- SAFELY quit the original frontmost application that it identified at the start.
tell application thisAppPath -- the path must be a string
try -- *** use 0 to no limit ***
with timeout of 240 seconds -- a time limit is given to the user to save changes, etc.
quit
end timeout
on error -- (timeout error): the user do nothing because the application is still open
-- do something
end try
end tell
--
-- script after the application quits
--

关于AppleScript,通过 id 安全地退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46187994/

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