我正在开发一个控制其他正在运行的应用程序的实用程序。在某些输入事件中,我的应用程序显示一个窗口,用户可以从窗口中选择一些操作,窗口消失并且控件返回到上一个应用程序。我的问题是点击我的应用程序窗口会激活我的应用程序,从而从前一个应用程序的窗口中删除焦点。当我的窗口关闭时,我可以重新激活以前的应用程序,但我宁愿保持原始应用程序一直处于激活状态。这可能吗?
答案 0 :(得分:6)
这很简单,只需使您的窗口成为NSPanel(NSWindow
的子类)的实例,并在Xcode / IB中将其设置为非激活(或以编程方式创建它,样式掩码中的NSNonactivatingPanelMask
。
答案 1 :(得分:0)
一个想法是:在您的应用程序运行时,尝试跟踪系统中的活动窗口。 激活应用程序并单击命令按钮后,恢复上一个活动窗口。 这只是一个想法,我不知道如何在mac上做到这一点。