【问题标题】:Programmatically minimize all windows or besides my Cocoa application?以编程方式最小化所有窗口或除我的 Cocoa 应用程序之外?
【发布时间】:2016-07-21 13:32:37
【问题描述】:

我无法在 Swift 中找到任何关于此的内容。有没有办法以编程方式使我的应用程序最小化在后台打开的所有其他窗口,甚至只是最小化 Safari?我基本上希望我的应用程序在桌面上运行,后台没有任何混乱。有没有办法以编程方式为 Cocoa 应用程序执行此操作?我对 swift 很陌生,所以任何帮助将不胜感激。

【问题讨论】:

    标签: swift cocoa window nswindow minimize


    【解决方案1】:

    您可以在NSWorkspace 上使用 api,它允许您在后台隐藏所有可见的应用程序。 你可以在这里找到更多关于NSWorkspace的信息:link

    隐藏发件人以外的所有应用程序。此方法必须从您应用的主线程中调用。

    NSWorkspace.shared().hideOtherApplications()
    

    如果你只想隐藏 Safari,

      let appPath = NSWorkspace.shared().fullPath(forApplication: "Safari")
      let identifier = Bundle.init(path: appPath!)?.bundleIdentifier
    
      if let bundleID = identifier {
      let runningApps = NSRunningApplication.runningApplications(withBundleIdentifier:bundleID )
            if !runningApps.isEmpty {
                runningApps.first?.hide()
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2023-04-08
      • 2018-08-24
      • 2020-01-16
      相关资源
      最近更新 更多