Подтвердить что ты не робот

Как получить список всех открытых NSWindow из всех запущенных приложений?

Есть ли способ получить список открытых или видимых NSWindow с рабочего стола Mac?

4b9b3361

Ответ 1

Обратите внимание, что не все окна обязательно NSWindows, а NSWindow предоставляет интерфейс только для окон в вашем собственном адресном пространстве.

Поддерживаемый способ доступа ко всем окнам - это API CGWindow. Взгляните на пример кода Сон Grab, чтобы увидеть, как это делается.

Ответ 2

Вы можете использовать API доступности (доступность должна быть включена в Системных настройках для его работы) для получения информации о окнах (и других элементах пользовательского интерфейса) из других процессов. Этот вопрос может быть именно тем, что вы ищете.

Ответ 3

ВСЕ запущенные приложения? Нет. Вы можете получить только NSWindows своего приложения. Вы можете использовать Universal Access или Core Graphics API, чтобы получить некоторую информацию о окнах других приложений, но не полный доступ.