是否可以按需编程隐藏停靠图标。我知道在plist中定义属性“Application is agent(UIElement)”的一种方法我们将cocoa应用程序作为用户代理。但这会导致永久隐藏停靠图标。
我正在寻找一种可以控制停靠图标可见性的方法。任何的想法 ?
答案 0 :(得分:5)
不幸的是没有。您可以使用TransformProcessType()
功能将仅限背景的应用转换为前景应用,但无法从前台应用转换为后台应用。
以下是从背景到前景的方法:
ProcessSerialNumber psn = { 0, kCurrentProcess };
OSStatus returnCode = TransformProcessType(&psn, kProcessTransformToForegroundApplication);
if( returnCode != 0) {
NSLog(@"Could not bring the application to front. Error %d", returnCode);
}
答案 1 :(得分:1)
有可能。但是,它也会隐藏菜单。
NSApplication.shared.setActivationPolicy(.accessory)
DispatchQueue.main.async {
NSApplication.shared.activate(ignoringOtherApps: true)
NSApplication.shared.windows.first!.makeKeyAndOrderFront(self)
}
然后返回:
NSApplication.shared.setActivationPolicy(.regular)