【发布时间】:2011-07-25 23:03:51
【问题描述】:
我正在开发一个控制其他正在运行的应用程序的实用程序应用程序。在某些输入事件上,我的应用程序显示一个窗口,用户可以从窗口中选择一些操作,窗口消失并且控制返回到上一个应用程序。我的问题是在我的应用程序窗口中单击会激活我的应用程序,从而从前一个应用程序的窗口中移除焦点。当我的窗口关闭时,我可以重新激活以前的应用程序,但我宁愿保持原来的应用程序一直处于激活状态。这可能吗?
【问题讨论】:
我正在开发一个控制其他正在运行的应用程序的实用程序应用程序。在某些输入事件上,我的应用程序显示一个窗口,用户可以从窗口中选择一些操作,窗口消失并且控制返回到上一个应用程序。我的问题是在我的应用程序窗口中单击会激活我的应用程序,从而从前一个应用程序的窗口中移除焦点。当我的窗口关闭时,我可以重新激活以前的应用程序,但我宁愿保持原来的应用程序一直处于激活状态。这可能吗?
【问题讨论】:
这很容易,只需将您的窗口设为NSPanel(NSWindow 的子类)的实例,并在 Xcode/IB 中将其设置为非激活(或以编程方式创建它,使用 NSNonactivatingPanelMask样式掩码)。
【讨论】:
一个想法是:在您的应用运行时,尝试跟踪系统中的活动窗口。 激活您的应用程序并单击命令按钮后,恢复之前的活动窗口。 这只是一个想法,我不知道在mac上怎么做。
【讨论】: