Какао, как узнать, какое окно является передним планом
-
12-10-2019 - |
Вопрос
Есть ли что -то похожее на GetForeGroundWindow на Mac OS X?
У меня два приложения One Windowed (на основе NSDOCUMENT) и одна командная строка, которую я хочу показать NSOPENPANEL из инструмента командной строки, и хотел бы сделать его моделью для приложения на основе NSDOCUMENT, но у вас нет для него?
Решение
Есть несколько проблем с тем, что вы хотите.
Прежде всего, в приложениях на Mac нет ссылок на окон. Приложение может иметь любое количество окон. Во -вторых, доступ к окнам других процессов ограничен в Mac OS X. Существует несколько API для доступа к ним по -разному. В любом случае, наличие ссылки на окно другого приложения не позволит вам поднять модальные диалоги для этого приложения.
Вы хотите иметь приложение командной строки общаться с приложением переднего плана, чтобы сказать ему, чтобы показать открытую панель. Вы можете либо установить свой собственный протокол связи (например, через распределенные объекты), либо использовать Apple Events/AppleScript для общения туда -сюда.