我想获取在我的 Mac 上运行的所有前台应用程序的应用程序图标。我已经在使用Process Manager API 迭代所有应用程序。我已经确定任何没有在(从 检索)中modeBackgroundOnly
设置标志的进程都是“前台”应用程序,并显示在任务切换器窗口中。processMode
GetProcessInformation()
我所需要的只是一个 API,它为我提供了一个 CImageRef(或类似的),其中包含一个进程的应用程序图标。我可以随意使用碳 API 或可可 API。
我想获取在我的 Mac 上运行的所有前台应用程序的应用程序图标。我已经在使用Process Manager API 迭代所有应用程序。我已经确定任何没有在(从 检索)中modeBackgroundOnly
设置标志的进程都是“前台”应用程序,并显示在任务切换器窗口中。processMode
GetProcessInformation()
我所需要的只是一个 API,它为我提供了一个 CImageRef(或类似的),其中包含一个进程的应用程序图标。我可以随意使用碳 API 或可可 API。
在 Mac OS X 10.6 或更高版本上,您可以向正在运行的应用程序询问其图标。
在早期版本的 Mac OS X 上,您必须通过查看应用程序的捆绑包来获取它。将 PSN 传递给函数GetProcessBundleLocation
以获取捆绑包的位置FSRef
,然后将其传递给GetIconRefFromFileInfo
函数。
您可以使用LaunchServices函数 (Carbon) 或NSWorkspace类 (Cocoa)。