我想构建一个没有菜单栏,停靠图标或坐在应用切换器中的应用。基本上,它应该像Quicksilver:我通过一个全局热键来激活它,比如来自Safari,并且会出现一个小窗口,但Safari不会变为非活动状态,也不会显示不同的菜单栏。我希望你明白我的意思......
我该怎么做?我可以阻止停靠图标,即应用切换器,但我不知道如何阻止其他应用在我的应用窗口显示时变为非活动状态或如何删除菜单。
感谢任何提示!
答案 0 :(得分:6)
尝试搜索“LSUIElement
”。这应该会为您提供所需的所有信息。
(具体来说,this page in the documentation)。
答案 1 :(得分:5)
正如戴夫已经说过的那样,添加
LSUIElement YES
在应用程序的Info.plist文件中。这将摆脱图标和菜单栏。
然后,要在适当的时间(例如,通过全局键盘快捷键触发)将窗口实际放到前面,您可以执行以下操作:
ProcessSerialNumber psn = {0, kCurrentProcess};
SetFrontProcess(&psn);
[someWindow makeKeyAndOrderFront:nil];