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