gpt4 book ai didi

macos - 获取 WindowRef 的边界?

转载 作者:行者123 更新时间:2023-12-04 17:39:52 25 4
gpt4 key购买 nike

我正在尝试找到一个 Carbon API,它可以从窗口 id 中给我 WindowRef,并且我想要有边界的 windowref?

编辑:我找到了 API
extern WindowRef HIWindowFromCGWindowID(CGWindowID inWindowID);但我无法使用它。我已经包含了 carbon header,并将其框架添加到了项目中。 HI apis 还需要其他什么吗?

任何帮助表示赞赏。
感谢您的时间。

最佳答案

以下应该做 -

        CGRect rect;
uint32_t windowid[1] = {windowID};
CFArrayRef windowArray = CFArrayCreate ( NULL, (const void **)windowid, 1 ,NULL);
CFArrayRef windowsdescription = CGWindowListCreateDescriptionFromArray(windowArray);
CFDictionaryRef windowdescription = (CFDictionaryRef)CFArrayGetValueAtIndex ((CFArrayRef)windowsdescription, 0);
if(CFDictionaryContainsKey(windowdescription, kCGWindowBounds))
{
CFDictionaryRef bounds = (CFDictionaryRef)CFDictionaryGetValue (windowdescription, kCGWindowBounds);
if(bounds)
{
CGRectMakeWithDictionaryRepresentation(bounds, &rect);
}
}
CFRelease(windowArray);

关于macos - 获取 WindowRef 的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593710/

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