我想从我的应用程序中控制Safari窗口。如何在OSX中激活外部应用程序的特定窗口?
我使用此代码通过ScriptingBridge摆脱Safari浏览器窗口列表:
SafariApplication *saf = [SBApplication ApplicationWithProcessIdentifier:myPid];
SBElementArray *safariWindows = [saf windows];
能正常工作至今。
SafariWindow *firstSafWin = [saf.windows objectAtIndex:0];
[firstSafWin setIndex: 1];
现在我尝试激活Safari浏览器有: 我也可以用索引属性是这样的管理窗口的顺序
NSRunningApplication *runApp = [NSRunningApplication runningApplicationWithProcessIdentifier: myPid];
[runApp activateWithOptions: NSApplicationActivateAllWindows];
所以这才是我的问题:
Safari浏览器被激活,我想要的窗口现在在顶部,但它没有得到焦点(或“mainWindow”)。因此,在我试图改变Safari窗口的顺序之前,用户输入的焦点仍然在Safari浏览器窗口中。
在OSX中有没有办法让焦点到我想要的Safari窗口?
Thx Joshua!奇迹般有效! – boomer 2011-02-16 15:55:56