我有一个在状态栏上显示为菜单的应用程序,所以我将plist中的“Application is agent(UIElement)”切换为YES(因为我不希望在Dock上的图标仅用于状态菜单Bar),但当我点击菜单上的一个项目时,会调用一个新窗口,是否可以为该窗口显示停靠图标?当窗户关闭时消失?
答案 0 :(得分:1)
您需要创建一个单独的应用程序二进制文件/包来显示该窗口。应用程序没有受支持的方式可以使Dock图标显示在每个进程以外的任何其他位置,或者在Dock图标运行时动态隐藏/显示Dock图标。
答案 1 :(得分:0)
您可以使用NSRunningApplication+DockIcon显示和隐藏应用程序的Dock图标,但请注意,此代码使用未记录的API。
答案 2 :(得分:0)
要将您的应用程序设置为前台应用程序,从而使其图标显示在Dock中,并且该应用程序显示在Cmd + Tab列表中:
ProcessSerialNumber processSerialNumber = {0, kCurrentProcess};
TransformProcessType(&processSerialNumber, kProcessTransformToForegroundApplication);
然后再次将其更改:
ProcessSerialNumber processSerialNumber = {0, kCurrentProcess};
TransformProcessType(&processSerialNumber, kProcessTransformToUIElementApplication);