是否有用于检索Mac OS X上当前打开的应用程序图标的API?我试图检索活动应用程序的所有图标以及应用程序之上的任何徽章(即邮件中的新邮件数或传输中的当前下载速率)。是否有某种Dock API?
唯一提及用于检索我能够找到的当前活动应用程序的信息的OSX API是Process Manager API,它没有提到轮询停靠点或检索图标数据的能力。
就应用程序图标而言,我发现的唯一文档与NSWorkspace有关:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Workspace/Workspace.pdf
答案 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];