我正在使用 FireBreath 创建一个跨浏览器插件,该插件利用一些用于各自平台的本机库(一些用于 Windows 的基于 .NET 的 DLL 和用于 Mac 的基于 Objective-C 的 dylibs/框架)。该库显示的 UI 最终应该出现在其他窗口的前面(特别是在浏览器窗口的前面)。对于 Windows,我使用 win32 API 来传递窗口处理程序并将其置于前台。目前这工作正常。但是,我目前无法为 Mac 找到合适的解决方法,因此该窗口总是出现在 Mac 的浏览器后面。这个问题有什么解决方法吗?
我尝试了以下方法但没有取得多大成功:
1) 将 NSWindow 的级别设置为更高的值(例如:NSFloatingWindowLevel)并调用 orderFront 方法。
2) 在 NSApp 中设置 activateIgnoringOtherApps 属性并调用 makeKeyAndOrderFront 方法。
非常感谢这方面的任何帮助。