2011-05-06 44 views
2

我想隐藏最前面的应用。 我知道你可以使用语法隐藏进程:AppleScript:从应用隐藏/获取进程名称

tell application "System Events" 
    set visible of process "..." to false 
end tell 

,我知道如何让最前面的应用程序:

(path to frontmost application as string) 

但我怎么两个命令桥一起?

这是行不通的:

tell application "System Events" 
    set visible of process (path to frontmost application as string) to false 
end tell 

回答

5

试试这个。

tell application "System Events" 
    set frontProcess to first process whose frontmost is true 
    set visible of frontProcess to false 
end tell 

你必须要小心,因为当你运行该脚本从某种角度来说,剧本是最前面的,所以你可能只是最终躲在脚本,而不是你的目标应用。我检查最前面的进程的名称,如果它与脚本或“applescript runner”的名称相匹配,则需要隐藏该名称,然后再次运行该命令,然后实际获得您所定位的应用程序。这很棘手。

1

由于大多数应用程序会隐藏,如果你按Cmd-H,你也可能走这条路。

tell app "System Events" to keystroke "h" using command down 
+0

查克,这甚至没有尝试回答OP的问题,所以最好将它作为评论发布,而不是回答。 – sampablokuper 2011-08-02 23:58:59

+1

我认为这是一个有效的答案。这个想法可能与Tyilo的想法完全不同,但它应该起作用。 – 2011-11-20 09:20:34