Мне нужно создать скрипт, который автоматически закрывает всплывающее окно, которое открывается примерно каждые 55 - 65 секунд. Как только окно открывается, вы просто нажимаете OK (внутри окна), и оно закрывается.

Я создал приложение appleScript, но обнаружил, что мне все еще нужно нажать вручную, чтобы запустить скрипт.

on idle
    tell application "XYZ"
    activate
    tell application "System Events" to key code 36
    end tell
    return 65
end idle
  1. Вместо указания времени, в данном случае 65 секунд, я не могу сказать; если диалоговое окно открывается, нажмите кнопку ОК. Таким образом, каждый раз, когда открывается окно, оно будет закрыто, не мешая мне, пока я работаю над приложением.
  2. Мне бы очень хотелось, чтобы скрипт активировался в то время, когда появляется окно / всплывающее окно, а не раньше.
  3. Скрипт должен быть активным, пока я использую приложение (XYZ). Как долго я буду использовать XYZ, будет варьироваться.

2 ответа2

0

Вы можете просто запустить цикл каждую секунду или около того:

repeat
    if (exists application "XYZ") then
        tell application "System Events" to tell process "XYZ"
            if exists (button "OK" of window "Window Title") then
                click (button "OK" of window "Window Title")
            end if
        end tell
    end if
    delay 1
end repeat

Если у окна нет заголовка, попробуйте заменить window "Window Title" window 1 или запустите tell application "System Events" to tell process "XYZ" to properties of windows чтобы увидеть, можно ли идентифицировать окно другим способом.

0

Пытаться:

set resultDialogReply to display dialog "Close after 5 seconds..." giving up after 5

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .