OS X Dock API? Получить значок активного приложения OS X со значками и другими модификациями - PullRequest
1 голос
/ 31 марта 2010

Существует ли API для получения значков открытых приложений в Mac OS X? Я пытаюсь получить все значки активных приложений вместе со значками в верхней части приложения (т. Е. Количество новых сообщений в почте или текущая скорость загрузки в передаче). Есть ли какой-нибудь Dock API?

Единственное упоминание об OSX API для получения информации о текущих активных приложениях, которые мне удалось найти, - это Process Manager API , в котором не упоминается возможность опроса дока или получения данных значков.

Что касается значков приложений, единственная документация, которую я нашел, связана с NSWorkspace: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Workspace/introduction.html

1 Ответ

2 голосов
/ 01 апреля 2010

Похоже, Theocacao имеет хорошо документированный пример NSWorkspace, который используется для получения открытых приложений и получения их значков . Нет никакого упоминания о том, будет ли это также получать значки / модификации значка приложения или есть ли способ подписаться на уведомления, связанные с обновлениями значка.

Получение активных приложений:

NSWorkspace * ws = [NSWorkspace sharedWorkspace];
NSArray * apps = [ws launchedApplications];
NSLog (@"%@", apps);

Получение иконки приложения:

NSWorkspace * ws    = [NSWorkspace sharedWorkspace];
NSString    * path  = [ws fullPathForApplication:@"Safari"];
NSImage     * icon  = [ws iconForFile: path];
...