получить значок приложения из окна id в какао - PullRequest
0 голосов
/ 25 июля 2010

Я ищу способ получить значок приложения из идентификатора окна в какао.У вас есть указатель для этого?

Ответы [ 2 ]

8 голосов
/ 25 июля 2010

Сначала используйте CGWindowListCreateDescriptionFromArray(), чтобы получить PID процесса-владельца (kCGWindowOwnerPID). Если это 10,6, вы можете использовать +[NSRunningApplication runningApplicationWithProcessIdentifier:], чтобы получить объект приложения, а затем использовать -icon.

До версии 10.6 вам нужно использовать GetProcessForPID() для переключения на PSN, использовать GetProcessBundleLocation(), чтобы получить местоположение пакета, переключить FSRef в строку пути, а затем использовать -[NSWorkspace iconForFile:], чтобы получить значок.

0 голосов
/ 08 января 2015

Ответ Роба Нейпира верен.

В последних API и на быстром языке, это должно быть так:

let runningApp = NSRunningApplication(processIdentifier: pid_t(the_process_id))
let icon = runningApp?.icon
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...