AppleScript: скрыть / получить имя процесса из приложения - PullRequest
2 голосов
/ 06 мая 2011

Я хочу скрыть самое переднее приложение. Я знаю, что вы можете скрыть процесс, используя синтаксис:

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

Ответы [ 2 ]

5 голосов
/ 07 мая 2011

Попробуйте это.

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

Вы должны быть осторожны, потому что в некоторых случаях, когда вы запускаете сценарий, сценарий находится на первом месте, поэтому вы можете просто спрятать сценарий вместо приложения, на которое вы нацеливались. Я проверяю имя самого переднего процесса, и, если оно совпадает с именем скрипта или «бегуна яблочного скрипта», вам нужно это скрыть, затем снова запустить команду, и вы получите приложение, на которое вы нацелены. Это сложно.

1 голос
/ 07 мая 2011

Поскольку большинство приложений будут скрываться, если вы нажмете Cmd-H, вы, вероятно, также можете пойти по этому пути.

tell app "System Events" to keystroke "h" using command down
...