2010-06-13 2 views
1

포커스 된 윈도우의 CGWindow ID (현재 어플리케이션에 속하는지 아닌지)를 어떻게 얻을 수 있는지 알고 계십니까?포커스 윈도우의 CGWindow ID를 얻으십시오.

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

찾으려면이 목록을 검사 : 당신의 도움 :)

감사합니다 사전에

감사합니다,

답변

2

한 가지 방법은이 같은 모든 창 목록을 가져올 CGWindowListCopyWindowInfo을 사용하는 것입니다 창 레벨 0에있는 모든 창 (이들은 정상 창입니다).

나는 반환 된 배열이 윈도우가 화면 상에 겹쳐져있는 순서대로 존재한다는 것을 확신합니다. 그렇지 않은 경우 "windowOrder"키를 기준으로 정렬 할 수 있습니다. 이 API를 사용하는 방법에 대한 자세한 내용은 SonOfGrab 샘플 코드를 참조하십시오.

+0

필자가 직접 제공하는 기능이 있다면이 기능을 피하고 싶습니다. 도움 주셔서 감사합니다. –

관련 문제