MacOSX 中如何动态隐藏Dock Icon

  XCode创建了一个GUI工程,程序分几种运行模式,一种是agent模式,还有一种是GUI界面。Agent模式是没有界面的GUI程序,通过LaunchAgents启动。创建出来的Info.plist默认有DockIcon,通过改plist没法满足需求。通过代码来控制也是比较简单,但是有几点注意事项:

1. 在设置隐藏Dock图标的时候需要重启应用程序,无法在运行时动态完成的,而在显示Dock图标的时候则不需要。

2. 修改默认隐藏DockIcon,根据配置来动态显示DockIcon。

显示DockIcon代码:

if( [[NSUserDefaults standardUserDefaults] boolForKey:@"ShowDockIcon"] == NSOffState ) {
        [[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"ShowDockIcon"];
        ProcessSerialNumber psn = { 0, kCurrentProcess };
        TransformProcessType(&psn, kProcessTransformToForegroundApplication );
 }

在此记录!

原文地址:https://www.cnblogs.com/lovelylife/p/5614321.html