2011-02-15 4 views
2

내 응용 프로그램에서 Safari 창을 제어하려고합니다. 이것은 지금까지 잘 작동OSX에서 외부 응용 프로그램의 특정 창을 활성화하려면 어떻게해야합니까?

SafariApplication *saf = [SBApplication ApplicationWithProcessIdentifier:myPid]; 
SBElementArray *safariWindows = [saf windows];

:

나는 ScriptingBridge를 통해 사파리에서 창 목록을 얻기 위해이 코드를 사용합니다.

SafariWindow *firstSafWin = [saf.windows objectAtIndex:0]; 
[firstSafWin setIndex: 1];
지금 내가 함께 사파리를 정품 인증하려고 : 나는 또한이 같은 인덱스 속성 뭔가 창문의 순서를 관리 할 수있는 사파리가 활성화됩니다
: 그래서 여기

NSRunningApplication *runApp = [NSRunningApplication runningApplicationWithProcessIdentifier: myPid];   
    [runApp activateWithOptions: NSApplicationActivateAllWindows];

것은 내 문제를 온다 내가 원했던 창이 지금은 이지만 초점이 맞지 않습니다. (또는 "mainWindow"). 그래서 사용자 입력의 초점은 사파리 윈도우의 순서를 바꾸기 전에 초점이있는 사파리 창에 남아 있습니다.

OSX에서 원하는 Safari 창으로 포커스를 이동하는 방법이 있습니까?

답변

1

내게 필요한 옵션 기능 API를 사용하면이 수준의 제어 기능을 제공 할 수 있지만 사용자 컴퓨터에서 사용하도록 설정해야합니다.

+0

Thx Joshua! 매력처럼 작동합니다! – boomer

0

FWIW, 당신이하고있는 일은 효과가 있습니다. Safari에 대한 버그 보고서를 제출해야합니다.

관련 문제