Я плохо знаком с Какао, и я хочу знать, как я могу получить список всех открытых окон. Я не говорю о запущении программ, так как это было бы легкой задачей. Я хочу перечислить окна, например, если у меня есть Предварительный просмотр, работающий с 10 открытыми PDF, моя программа должна смочь получить список со всеми они PDF. Я также хочу знать, существует ли некоторый API, доступный, чтобы взаимодействовать с уже открытыми окнами (и возможно переместить их или сделать что-то еще) из внешнего приложения.Спасибо.
Во-первых, какао не является Акроним, так что это не «какао». : -)
Во-вторых, ваш единственный (Public API) является API доступности. Вам придется включить доступ к вспомогательным устройствам на панели «Доступность» в системах настроек систем.
Посмотрите на документы, чтобы начать: Обзор аксессуаров
У меня открыт предварительный просмотр с 10 pdf, моя программа должна иметь возможность получить список со всеми этими pdf.
Ну, это самая сложная часть. Вы можете получить окна через Accessibility, но Accessibility не связывает их ни с каким объектом документа.
AppleScript работал бы для некоторых приложений, но Предварительный просмотр - не один из них. Действительно, большинство приложений - нет.
Итак, вы можете достаточно легко получить список windows, но получение осмысленной информации о или изнутри этих окон варьируется от хитрых до невозможных. Лучшим вариантом может быть комбинация Access, AppleScript и отчетов об ошибках для приложений, не имеющих подписки, а также знание того, что ваше приложение не будет работать на всем.