OSX无障碍功能 - 如何将窗口置于最前?

6

我正在使用OSX辅助功能API来尝试将一个窗口置于前台。文档中指出,kAXRaiseAction“通过单击标题栏来模拟将窗口置于前台”。

AXUIElementPerformAction(myWindowRef, kAXRaiseAction);

除了这种情况外,它并不能...它只将窗口置于同一应用程序的所有窗口之前,这与单击应用程序的标题栏时发生的情况不同。
当我实际单击Finder窗口(其中之一)时,它会全部移到最前面,超过所有其他进程的窗口,而不会将任何其他Finder窗口与其一起置于前面。
如何模拟该行为? https://developer.apple.com/library/mac/documentation/UserExperience/Reference/Accessibility_RoleAttribute_Ref/Actions.html
1个回答

6

您可以像以前一样选择窗口,然后使用-[NSRunningApplication activateWithOptions:]激活应用程序。


1
太棒了!谢谢。我经常忘记苹果在其枚举中通常省略'0'情况。 - CuriousGeorge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接