【发布时间】:2011-11-01 16:44:07
【问题描述】:
我有一个显示NSStatusItem 和菜单的前台应用程序(通过NSStatusItem setMenu:(NSMenu *)menu)。但是,当我在 Lion 中以全屏模式(比如 Safari)查看另一个应用程序时,此菜单不会显示。
我知道我可以通过在 Info.plist 文件(或 NSUIElement)中将 NSBGOnly 设置为 true 来使其工作,但这两种方法都会使我的应用程序图标从任务切换器中消失并隐藏主一旦我设法集中我的应用程序的菜单。
最后,我尝试将NSUIElement 设置为true,并在启动时在我的应用程序中执行以下操作(另请参阅How to hide the Dock icon):
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
这使得菜单栏和停靠图标再次出现,但原始问题(状态项菜单未显示在另一个全屏应用程序中)再次可见。不管我怎么努力,我都赢不了。
任何建议将不胜感激!
【问题讨论】: