从ProcessSerialNumber获取应用程序图标

Tho*_*omi 3 c++ macos cocoa macos-carbon

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

我只需要一个API,它给我一个CImageRef(或类似的),它包含进程的应用程序图标.我可以自由使用碳或可可API.

Pet*_*sey 5

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

在早期版本的Mac OS X中,您必须通过查看应用程序的包来获取它.传PSN上GetProcessBundleLocation功能来获得束的位置为FSRef,然后传递到GetIconRefFromFileInfo功能.