#process #applescript #hide #pid
#процесс #applescript #скрыть #pid
Вопрос:
Я хочу скрыть самое переднее приложение. Я знаю, что вы можете скрыть процесс, используя синтаксис:
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
Ответ №1:
Попробуйте это.
tell application "System Events"
set frontProcess to first process whose frontmost is true
set visible of frontProcess to false
end tell
Вы должны быть осторожны, потому что в некоторых случаях, когда вы запускаете скрипт, скрипт является самым передним, поэтому вы можете просто скрыть скрипт вместо приложения, на которое вы нацеливались. Я проверяю имя самого переднего процесса, и если оно совпадает с именем скрипта или «applescript runner», то вам нужно скрыть это, затем снова запустите команду, и вы действительно получите приложение, на которое нацеливались. Это сложно.
Ответ №2:
Поскольку большинство приложений скроются, если вы нажмете Cmd-H, вы, вероятно, также могли бы пойти этим путем.
tell app "System Events" to keystroke "h" using command down
Комментарии:
1. Чак, на самом деле это даже не попытка ответить на вопрос OP, поэтому было бы лучше опубликовать его как комментарий, чем как ответ.
2. Я думаю, что это правильный ответ. Идея может полностью отличаться от того, о чем думал Tyilo, но она должна сработать.