接受鼠标点击而不激活应用程序?

zou*_*oul 8 macos cocoa focus

我正在开发一个控制其他正在运行的应用程序的实用程序.在某些输入事件中,我的应用程序显示一个窗口,用户可以从窗口中选择一些操作,窗口消失并且控件返回到上一个应用程序.我的问题是点击我的应用程序窗口激活我的应用程序,从而从前一个应用程序的窗口中删除焦点.当我的窗口关闭时,我可以重新激活以前的应用程序,但我宁愿保持原始应用程序一直处于激活状态.那可能吗?

Nic*_*ore 6

这很容易,只需使你的窗口成为NSPanel(子类NSWindow)的一个实例,并在Xcode/IB中将其设置为非激活(或者NSNonactivatingPanelMask在样式掩码中以编程方式创建它).

在此输入图像描述