Как получить информацию о программе из списка окон с помощью CGWindowListCopyWindowInfo - PullRequest
2 голосов
/ 28 мая 2011

Мне удалось получить список окон на рабочем столе с помощью CGWindowListCopyWindowInfo, но в следующий раз я попытаюсь получить свойства окна, такие как имя программы, заголовок и другие свойства.

Какой API мне следует изучить, и есть ли у нас пример того, как это сделать?

1 Ответ

6 голосов
/ 28 мая 2011

Вывести список окон и получить конкретную информацию во время цикла:

NSMutableArray *windows = (NSMutableArray *)CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);

for (NSDictionary *window in windows) {
    NSString *owner = [window objectForKey:@"kCGWindowOwnerName" ];
    NSString *name = [window objectForKey:@"kCGWindowName" ];
    NSLog(@"%@ - %@",owner,name);
}

Доступные ключи:

kCGWindowIsOnscreen
kCGWindowLayer 
kCGWindowMemoryUsage
kCGWindowName
kCGWindowNumber
kCGWindowOwnerName
kCGWindowOwnerPID
kCGWindowSharingState
kCGWindowStoreType
...