1
他のアプリケーションの現在のWindowCount
を取得するにはどうすればよいですか? 私はプログラミング言語としてSwift
を使用しており、OS X用に開発しています。Swiftを使用して他のアプリケーションのWindowCountを取得する方法
良い一日を!
他のアプリケーションの現在のWindowCount
を取得するにはどうすればよいですか? 私はプログラミング言語としてSwift
を使用しており、OS X用に開発しています。Swiftを使用して他のアプリケーションのWindowCountを取得する方法
良い一日を!
インポートCoreGraphics
とチェックアウトCGWindowListCopyWindowInfo
:
import CoreGraphics
let kCGNullWindowID: UInt32 = 0
// Check the documentation for other options
guard let windows = CGWindowListCopyWindowInfo([.OptionOnScreenOnly], kCGNullWindowID) as NSArray? as? [[String: AnyObject]] else {
fatalError("Can't find windows")
}
var windowCount = [String: Int]()
windows.forEach {
let ownerName = $0[kCGWindowOwnerName as String] as! String
if let count = windowCount[ownerName] {
windowCount[ownerName] = count + 1
} else {
windowCount[ownerName] = 1
}
}
print(windowCount)
が正常に動作しない、結果は '[ "Xcodeの":1、 "ドック":2、 "サファリ":1、 "ファインダー":1 、 "SystemUIServer":2、 "Spotlight":1、 "Window Server":2] 'などがありますが、' Dock'、 'SystemUIServer'、' Spotlight'、 'Window Server'などのバックグラウンドプロセスにはウィンドウがありません。テストのために私はFinderウィンドウを閉じたが、そのカウントも '1'と宣言した。 – HelloToYou