从可可中的窗口ID获取应用程序图标

AP.*_*AP. 0 macos cocoa

我正在寻找一种方法从可可的窗口ID获取应用程序图标.你有指针吗?

Rob*_*ier 8

首先,用于CGWindowListCreateDescriptionFromArray()获取拥有进程的PID(kCGWindowOwnerPID).如果这是10.6,那么您可以使用+[NSRunningApplication runningApplicationWithProcessIdentifier:]获取应用程序对象然后使用-icon.

在10.6之前,您需要使用GetProcessForPID()切换到PSN,用于GetProcessBundleLocation()获取捆绑包的位置,将FSRef切换为路径字符串,然后使用-[NSWorkspace iconForFile:]获取图标.