2010-11-21 3 views
1

Objective C의 Mac OSX에서 열려있는 창의 이름을 어떻게 얻을 수 있습니까? 기본적으로 저는 특정 이름 (예 : Chrome이 열려 있는지 감지 할 수있는 "Chrome")이있는 창이 열려 있는지 확인하려고합니다.Objective C에서 Open Windows 가져 오기

문제가되는 앱은 창을 열지 않아도 실행되지 않으므로 (예에서 Chrome과 달리) 프로세스가 실행 중일 때이 필요하지 않을 수도 있습니다.

답변

3

설명하는 경우 창 목록을 살펴 보는 것은 좋은 방법이 아닙니다. 예를 들어 Chrome에는 'Chrome'AFAIK이라는 창이 없습니다. 창 이름은 현재 열려있는 탭에 따라 다릅니다. 응용 프로그램을 감지하려면 NSWorkSpace의 launchedApplications 메서드를 사용하십시오.

실제로 창을 검색하려면 Quartz Window Services API을 사용하십시오.

+0

죄송합니다. Chrome은 좋은 사례가 아닙니다. 내가 탐지하고자하는 응용 프로그램은 항상 한 가지 이름이 지정되며 프로세스가 실행 중일 때는 항상 창이 열립니다. Quartz Window Services/NSWorkspace를 살펴 보겠습니다. –

+0

내 2 센트 : (업데이트) : NSWorkspaceclass의 runningApplication 메소드와 NSRunningApplication 클래스를 사용하여 activeApplication 및 launchApplications 메소드가 아닌 OS X v10.6 이상을 대상으로하는 애플리케이션에서이 정보를 검색하는 것이 좋습니다. – zeFree