2010-06-13 3 views

ответ

2

Один из способов заключается в использовании CGWindowListCopyWindowInfo, чтобы получить список всех окон, как это:

CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID); 

Проверьте этот список, чтобы найти все окна на уровне окна 0 (это обычные окна).

Я уверен, что возвращенный массив будет в порядке, когда окна будут накладываться на экран. Если нет, вы можете сортировать по клавише «windowOrder». Взгляните на пример кода кода SonOfGrab, чтобы узнать, как использовать этот API.

+0

Это оппонент, которого я хотел избежать, если бы была функция, предоставляющая мне это. Спасибо за помощь. –

Смежные вопросы