我想获取在我的Mac上运行的所有前台应用程序的应用程序图标.我已经使用Process Manager API迭代所有应用程序.我已经确定在processMode中设置了没有modeBackgroundOnly标志的任何进程(从GetProcessInformation()中检索)是一个“前台”应用程序,并显示在任务切换器窗口中.
我只需要一个API,它给我一个CImageRef(或类似的),它包含进程的应用程序图标.我可以自由使用碳或可可API.
解决方法:
在Mac OS X 10.6或更高版本中,您可以使用ask a running application for its icon.
在早期版本的Mac OS X中,您必须通过查看应用程序的包来获取它.将PSN传递给the GetProcessBundleLocation
function,将捆绑包的位置作为FSRef,然后将其传递给the GetIconRefFromFileInfo
function.