2011-05-06 47 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