mac获取桌面

CGWindowListCopyWindowInfo

Declaration

CFArrayRef CGWindowListCopyWindowInfo(CGWindowListOption option, CGWindowID relativeToWindow);

参量:


option
描述返回哪些窗口字典的选项。使用典型的选项,您可以返回所有窗口或在relativeToWindow参数中指定的窗口之上或之下的窗口的字典。

enum
{
   kCGWindowListOptionAll                 = 0,//列出所有窗口,包括屏幕上和屏幕外的窗口。 使用此选项检索列表时,应该将relativeToWindow参数设置为kCGNullWindowID
   kCGWindowListOptionOnScreenOnly        = (1 << 0),//列出当前屏幕上的所有窗口。 Windows按从前到后的顺序返回。 使用此选项检索列表时,应该将relativeToWindow参数设置为kCGNullWindowID
   kCGWindowListOptionOnScreenAboveWindow = (1 << 1),//列出当前在屏幕上并在relativeToWindow参数指定的窗口之前的所有窗口。 Windows按从前到后的顺序返回
   kCGWindowListOptionOnScreenBelowWindow = (1 << 2),//列出当前屏幕上以及在relativeToWindow参数指定的窗口之后的所有窗口。 Windows按从前到后的顺序返回
   kCGWindowListOptionIncludingWindow     = (1 << 3),//在返回列表中包括指定的窗口(来自relativeToWindow参数)。 您必须将此选项与kCGWindowListOptionOnScreenAboveWindow或kCGWindowListOptionOnScreenBelowWindow选项结合使用以检索有意义的结果
   kCGWindowListExcludeDesktopElements    = (1 << 4)//从列表中排除所有属于桌面元素的窗口,包括背景图片和桌面图标。 您可以将此选项与其他选项结合使用
}

relativeToWindow
确定要返回哪些其他窗口字典时用作参考点的窗口的ID。对于不需要参考窗口的选项,此参数可以是kCGNullWindowID。

返回值
CFDictionaryRef类型的数组,每个类型都包含有关当前用户会话中的一个窗口的信息。如果没有符合所需条件的窗口,该函数将返回一个空数组。如果从GUI安全会话之外或没有窗口服务器运行时调用此函数,则此函数返回NULL。

如:获取所有窗口,排除属于桌面元素的窗口

CGWindowListCopyWindowInfo(kCGWindowListExcludeDesktopElements | kCGWindowListOptionAll, kCGNullWindowID);

获取属于当前屏幕的所有窗口,排除属于桌面元素 的窗口

CGWindowListCopyWindowInfo(kCGWindowListExcludeDesktopElements | kCGWindowListOptionOnScreenOnly, kCGNullWindowID);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值