2010-07-25 85 views

回答

8

首先,使用CGWindowListCreateDescriptionFromArray()來獲取擁有進程的PID(kCGWindowOwnerPID)。如果這是10.6,則可以使用+[NSRunningApplication runningApplicationWithProcessIdentifier:]來獲取應用程序對象,然後使用-icon

10.6之前,你需要使用GetProcessForPID()切換到PSN,使用GetProcessBundleLocation()拿到包的位置,切換到FSRef路徑字符串,然後用-[NSWorkspace iconForFile:]獲得的圖標。

+0

很好的相關詳細。謝謝! – 2010-07-25 18:12:14

0

Rob Napier的回答是正確的。

在最新的API,並在迅速語言,它應該是這樣的:

let runningApp = NSRunningApplication(processIdentifier: pid_t(the_process_id)) 
let icon = runningApp?.icon