Могу ли я отслеживать другие события Windows, такие как изменение размера, скрытие и т. Д. Из NSNotificationCenter? - PullRequest
3 голосов
/ 19 сентября 2010

Я хотел бы отслеживать изменения всех окон (включая окна других приложений), такие как изменение размера, скрытие, скрытие и т. Д. Я обнаружил, что если я использую

[NotificationCenter defaultCenter]

, я просто получаю событие из окна своего собственного приложения.Но как насчет

Центра уведомлений NSWorkspace?

1 Ответ

1 голос
/ 19 сентября 2010

NSWorkspace не имеет ничего общего с окнами, поэтому нет.

Распределенный центр уведомлений также не будет работать.

Имейте в виду, что центр уведомлений - это не просто портал для наблюдения за вещами; вещи должны публиковать уведомления на нем. NSWindow объект делает это, когда пользователь изменяет размер своего окна, но делает это только в локальном центре уведомлений по умолчанию, а не в распределенном или NSWorkspace. Таким образом, это единственный центр уведомлений, в котором вы можете наблюдать за окнами и получать за них что-нибудь, а вы будете получать их только о своих окнах.

Вы можете использовать API-интерфейс Accessibility для наблюдения за свойством окна в любом процессе, но уведомления не будут появляться во время перетаскивания, а только после него, и пользователю потребуется включить «Доступ для вспомогательных устройств». .

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