2010-03-31 41 views
1

是否有API用于检索Mac OS X上当前打开的应用程序的图标?我试图检索活动应用程序的所有图标以及应用程序顶部的任何徽章(即邮件中的新邮件数量或传输中的当前下载速率)。是否有某种Dock API?OS X Dock API?检索带有徽章和其他修改的OS X活动应用程序的图标

唯一提到的用于检索有关当前活动应用程序的信息的OSX API是Process Manager API,它没有提及轮询停靠栏或检索图标数据的能力。

至于应用程序图标,我已经找到了唯一的文档有关NSWorkspace:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Workspace/Workspace.pdf

回答

2

貌似Theocacao has a well documented sample of NSWorkspace being used to obtain open applications and retrieve their icons。没有提及是否也会检索徽章/修改应用程序的图标,或者是否有方法订阅与图标更新相关的通知。

检索活动的应用程序:

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

检索应用程序的图标:

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