7

我有一个应用程序需要在计时器到期后成为最前面的应用程序,并在按下按钮启动计时器时退出最前面的状态,例如

  • 单击“开始计时器”-> 应用程序退出最前面的应用程序
  • 计时器到期 -> 应用程序成为最前面的应用程序

我故意解释了一些事情,因为玩活跃状态sharedApplication并不能达到我想要的效果。

我通过执行 a 成为最前沿的应用程序,[[NSApplication sharedApplication] activateIgnoringOtherApps: YES]并且效果非常好。

做相反的事情似乎是不可能的!?

  • [[NSApplication sharedApplication] deactivate]不应该直接调用,但更重要的是不会将“命令选项卡顺序”中的下一个应用程序向前移动。该应用程序只是坐在那里显示其菜单栏,但它不再“活动”。

  • [[NSApplication sharedApplication] hide: self]退出活动状态并将“ Command-tab order ”中的下一个应用程序带到前面,但它也隐藏了所有应用程序窗口。

我需要某种方法将命令选项卡顺序中的下一个应用程序放在前面,而不隐藏我所有的窗口。

有没有这样做的好方法?

该解决方案应与 10.5 Leopard 和 10.6 兼容。

我确实有一个 1996 年左右的解决方案,但它涉及 Carbon API,我真的更喜欢使用 Cocoa 或至少 Foundation 方式来实现它。

任何帮助将不胜感激。

4

1 回答 1

5

您是否尝试过先隐藏然后取消隐藏?

于 2010-12-06T09:29:27.947 回答