3

我想获取在我的 Mac 上运行的所有前台应用程序的应用程序图标。我已经在使用Process Manager API 迭代所有应用程序。我已经确定任何没有在(从 检索)中modeBackgroundOnly设置标志的进程都是“前台”应用程序,并显示在任务切换器窗口中。processModeGetProcessInformation()

我所需要的只是一个 API,它为我提供了一个 CImageRef(或类似的),其中包含一个进程的应用程序图标。我可以随意使用碳 API 或可可 API。

4

2 回答 2

5

在 Mac OS X 10.6 或更高版本上,您可以向正在运行的应用程序询问其图标

在早期版本的 Mac OS X 上,您必须通过查看应用程序的捆绑包来获取它。将 PSN 传递给函数GetProcessBundleLocation获取捆绑包的位置FSRef,然后将其传递GetIconRefFromFileInfo函数

于 2010-03-16T23:54:47.807 回答
3

您可以使用LaunchServices函数 (Carbon) 或NSWorkspace类 (Cocoa)。

于 2010-03-16T10:06:46.987 回答