AppleScript и не скриптовые приложения - PullRequest
2 голосов
/ 26 апреля 2011

Мне интересно, как я могу создавать сценарии приложений, в которых нет словаря.Вся информация, которую я нашел, ничего не говорит мне.Но мой опыт говорит мне, что есть способ.Например:

tell application "Firefox"
    return count of windows
end tell

Будет работать.И это будет работать с «Оперой» и другими приложениями без словаря вообще.Итак, вопросы: 1) Почему это работает?2) Что еще работает таким образом?Есть ли список всех таких действий?

Заранее спасибо!

Ответы [ 2 ]

8 голосов
/ 26 апреля 2011

Вы можете в некоторой степени создавать сценарии приложений без словаря яблочного сценария, используя 'tell application "Системные события"

tell application "Keynote" activate 
tell application "System Events" to keystroke "c" using {command down} 
end tell
end tell

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

Редактировать:

В этом документе приводятся некоторые подробности того, как Cocoa предоставляет некоторую поддержку Applscript во всех приложениях: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ScriptableCocoaApplications/SApps_about_apps/SAppsAboutApps.html

Под заголовком Встроенная поддержка стандартных и текстовых пакетов

3 голосов
/ 26 апреля 2011

Вы можете открыть словарь сценариев FireFox. Просто откройте редактор AppleScript, выберите «Файл» → «Показать словарь» и выберите FireFox из списка.

Это просто показывает очень элементарный словарь. Что происходит, так это то, что системная библиотека предоставляет как минимум базовый набор команд (называемый Standard Suite) для любого приложения Carbon или Cocoa. Это то, что содержит определения window, которые вы использовали.

Как уже писал Ян, чтобы сделать больше с таким приложением, вы используете так называемые сценарии пользовательского интерфейса через System Events. Этот хороший сайт - хорошее место для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...