gpt4 book ai didi

objective-c - 使用 swift(或 Objective-C)确定 macOS 上的窗口位置

转载 作者:行者123 更新时间:2023-11-28 06:25:59 25 4
gpt4 key购买 nike

我正在寻找一种方法来确定窗口的位置和尺寸,该窗口不属于我在 macOS 中的应用程序,使用 Swift(首选)或 Objective-C 来编写覆盖图/hud。是否可以读取所有进程的列表并从那里开始,或者是否有类似于 Windows api 中的 getWindowHandle() 函数的东西?

最佳答案

看看CGWindowListCopyWindowInfo :

import CoreGraphics 

if let windowList = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: AnyObject]] {
for window in windowList {
let number = window[kCGWindowNumber as String]!
let bounds = CGRect(dictionaryRepresentation: window[kCGWindowBounds as String] as! CFDictionary)!

let name = window[kCGWindowName as String] as? String ?? ""
print("number = \(number), name = \(name), bounds = \(bounds)")
}
} else {
print("Can't get window list")
}

该函数返回一个 CFDictionary 数组,上面的代码桥接到 [String: AnyObject] 以便于在 Swift 中工作。这里是requiredoptional字典的键。这些键都定义为 CFString,您必须将它们桥接到 String

关于objective-c - 使用 swift(或 Objective-C)确定 macOS 上的窗口位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41879295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com