Applescript для выхода из текущего диалогового окна приложения

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

    display dialog "Quit current application?" buttons {"cancel", "ok"} default button         "ok"
    if result = {button returned:"ok"} then
        delay 1.7

        tell application "System Events" to key code 12 using command down

    else if result = {button returned:"cancel"} then

    end if

person Elias    schedule 09.09.2014    source источник


Ответы (1)


Посмотрите, работает ли следующее лучше. Нет необходимости в пользовательском интерфейсе, поскольку подавляющее большинство приложений понимают или реагируют на команду выхода. Первое, что я делаю, это получаю самый передний процесс (фактически путь file, который безопаснее для некоторых приложений, таких как NeoOffice, например, то есть безопаснее, чем просто получение name).

tell application "Finder" to set p to item 1 of (get file of (processes whose frontmost = true)) as text

display dialog ("Quit current application?" & return & "(" & p & ")") buttons {"cancel", "ok"} default button 2

if button returned of (result) = "ok" then
    tell application p to quit
end if
person CRGreen    schedule 09.09.2014