OS X Dock API?使用徽章和其他修改检索OS X活动应用程序的图标

时间:2010-03-31 05:54:02

标签: macos osx-snow-leopard icons dock

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

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

就应用程序图标而言,我发现的唯一文档与NSWorkspace有关:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Workspace/Workspace.pdf

1 个答案:

答案 0 :(得分: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];