получить идентификатор CGWindow сфокусированного окна

Порядок оценки неуточнен. Это не слева направо, справа налево или что-то еще.

Не делайте этого.

1
задан Josh Lee 22 September 2010 в 14:03
поделиться

1 ответ

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

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

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

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

2
ответ дан 2 September 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: