OSX 辅助功能 - 如何将窗口一直带到前面?

bit*_*ise 5 macos cocoa objective-c

我正在使用 osx 可访问性 API 尝试将窗口置于最前面。文档说kAXRaiseAction“模拟通过单击标题栏来向前移动窗口”

AXUIElementPerformAction(myWindowRef, kAXRaiseAction);
Run Code Online (Sandbox Code Playgroud)

除非它没有......它只会使窗口向前通过同一应用程序的所有窗口,当您单击应用程序的标题栏时不会发生这种情况。

当我实际单击一个 Finder 窗口(多个窗口中的一个)时,它一直走到最前面,通过了所有其他进程的窗口,而没有将任何其他 finder 窗口带到前面。

我怎样才能模拟这种行为?

https://developer.apple.com/library/mac/documentation/UserExperience/Reference/Accessibility_RoleAttribute_Ref/Actions.html

JWW*_*ker 6

您可以像已经执行的那样选择窗口,然后使用 激活应用程序-[NSRunningApplication activateWithOptions:]