Как проверить, открыто ли приложение через Automator в MAC OS?

Я пытаюсь проверить, открыто ли приложение через AppleScript

Это следующий код:

on run {input, parameters}

quit application "KeyboardViewer"


return input
end run

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

Я не знаком с кодированием для AppleScript (впервые здесь), поэтому был бы признателен за некоторое понимание.

Спасибо

изменить

Я пытался работать с ним, и это, кажется, работает, есть ли более эффективный способ? Я хотел бы увидеть ваши материалы, пожалуйста

on run {input, parameters}

    if application "KeyboardViewer" is running then

        quit application "KeyboardViewer"

    else
        activate application "KeyboardViewer"

    end if

    return input
  end run

При использовании этого скрипта возникает небольшая (менее 1 с) задержка. Есть ли способ сделать это быстрее?


person NLed    schedule 08.08.2012    source источник
comment
Этот код довольно эффективен, на мой взгляд. Хотя это еще одно решение, которое я использовал if appIsRunning("Mail") then.   -  person Paolo Bernasconi    schedule 08.08.2012


Ответы (1)


Кажется, это работает:

on run {input, parameters}

    if application "KeyboardViewer" is running then

        quit application "KeyboardViewer"

    else
        activate application "KeyboardViewer"

    end if

    return input
  end run

Я узнал, что if application "APPLICATION NAME" is running проверяет, открыто ли приложение.

person NLed    schedule 08.08.2012