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

Posted

技术标签:

【中文标题】OS X Dock API?检索带有徽章和其他修改的 OS X 活动应用程序的图标【英文标题】:OS X Dock API? Retrieve OS X active application's icon with badges and other modifications 【发布时间】:2010-03-31 05:54:02 【问题描述】:

是否有用于检索 Mac OS X 上当前打开的应用程序图标的 API?我正在尝试检索活动应用程序的所有图标以及应用程序顶部的任何标记(即邮件中的新消息数量,或传输中的当前下载速率)。是否有某种 Dock API?

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

就应用程序图标而言,我找到的唯一文档与 NSWorkspace 相关:https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Workspace/introduction.html

【问题讨论】:

【参考方案1】:

看起来像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];

【讨论】:

以上是关于OS X Dock API?检索带有徽章和其他修改的 OS X 活动应用程序的图标的主要内容,如果未能解决你的问题,请参考以下文章

在 OS X 中隐藏从 Dock 生成的 install4j 服务

在 Swing 中创建 Mac OS X 风格的 Dock Bar

Ubuntu Dock再迎改善:钉选应用可显示进度条和通知徽章

sh 在OS X中添加空间到Dock

以编程方式设置 dock:name Java Mac OS X JVM 属性

从 OS X Dock 执行 Shell 脚本?