У меня есть приложение переднего плана, которое показывает NSStatusItem
вместе с меню (через NSStatusItem setMenu:(NSMenu *)menu
). Однако это меню не отображается, когда я смотрю на другое приложение в полноэкранном режиме (например, Safari) в Lion.
Я знаю, что могу заставить его работать, установив для NSBGOnly
значение true в файле Info.plist
(или NSUIElement
), но оба метода заставят значок моего приложения исчезнуть из переключателя задач, а также скрыть главный меню, когда мне удается сфокусировать свое приложение.
Наконец, я попытался установить для NSUIElement
значение true и выполнить следующее в моем приложении при запуске (см. Также Как скрыть значок Dock ):
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
Это заставило снова появиться строку меню и значок док-станции, но исходная проблема (меню элемента состояния не отображается в другом полноэкранном приложении) снова видна. Что бы я ни пытался, я не могу победить.
Любые предложения будут высоко оценены!