2010-03-31 5 views
1

Existe-t-il une API pour récupérer les icônes des applications actuellement ouvertes sur Mac OS X? J'essaie de récupérer toutes les icônes des applications actives avec tous les badges au-dessus de l'application (c'est-à-dire le nombre de nouveaux messages dans le courrier, ou le taux de téléchargement actuel dans Transmission). Y a-t-il une sorte d'API Dock? La seule mention d'une API OSX pour récupérer des informations sur les applications actuellement actives que j'ai pu trouver est le Process Manager API, qui ne mentionne pas la possibilité d'interroger le dock ou de récupérer des données d'icônes.OS X Dock API? Récupérer l'icône de l'application active OS X avec des badges et autres modifications

En ce qui concerne les icônes d'application, la seule documentation que j'ai trouvé est lié à NSWorkspace: http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Workspace/Workspace.pdf

Répondre

2

On dirait Theocacao has a well documented sample of NSWorkspace being used to obtain open applications and retrieve their icons. Il n'y a aucune mention de savoir si cela va également récupérer des badges/modifications à l'icône de l'application ou s'il y a un moyen de s'abonner aux notifications liées aux mises à jour de l'icône.

applications actives: Récupération

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

Récupération icône d'une application:

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