Получение информации о приложении, которому принадлежит активное окно - PullRequest
2 голосов
/ 14 июля 2010

Я уверен, что это что-то простое, и я не ищу нужную документацию.

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

Ответы [ 2 ]

5 голосов
/ 14 июля 2010

Существует класс NSWorkspace, из которого вы можете получить словарь с информацией о activeApplication.Это приложение обычно владеет окном «ключ».

Редактировать: Для приложений с таргетингом 10.6 или более поздних, activeApplication не рекомендуется.Вот новый путь:

NSRunningApplication *activeApplication = nil;
for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]) {
    if (app.active) {
        activeApplication = app;
        break;
    }
}
2 голосов
/ 22 июля 2012

Метод activeApplication устарел в MacOS 10.7. Документация предлагает использовать NSRunningApplication вместо.

...