Cocoa:截取桌面壁纸(没有图标和窗口)

Cocoa:截取桌面壁纸(没有图标和窗口),第1张

概述是否可以在没有桌面项目和任何可能打开的窗口(即只是壁纸)的情况下捕获Mac OS X桌面? 我已经尝试过CGWindowListCreateImage,CGWindowListCreateImageFromArray和CGDisplayCreateImage,但没有运气. 基本上我试图捕获桌面壁纸而不使用[NSWorkspace desktopImageURLForScreen:](它是一个无法访 是否可以在没有桌面项目和任何可能打开的窗口(即只是壁纸)的情况下捕获Mac OS X桌面?

我已经尝试过CGWindowListCreateImage,CGWindowListCreateImageFromArray和CGdisplayCreateImage,但没有运气.

基本上我试图捕获桌面壁纸而不使用[NSWorkspace desktopImageURLForScreen:](它是一个无法访问文件系统的沙盒应用程序).

解决方法 您需要小心测试这仍然是正确的,但桌面窗口位于Finder下方(由Dock绘制).将kCGWindowListOptionOnScreenBelowWindow CGWindowListOption传递给CGWindowListCreateImage应该可以得到你想要的东西(除非在该级别之下绘制其他东西).

否则,您将需要使用CGWindowListCreate并迭代响应,排除窗口级别kCGMinimumWindowLevel 19上未由Dock绘制的任何内容.

当有多个屏幕时,它会变得有点棘手,但希望这些信息足以让您完成所需的 *** 作.

总结

以上是内存溢出为你收集整理的Cocoa:截取桌面壁纸(没有图标和窗口)全部内容,希望文章能够帮你解决Cocoa:截取桌面壁纸(没有图标和窗口)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1006891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存