cocoa - 移除所有物理显示器后在回调中看到“虚构显示器”
问题描述
当我移除所有物理显示器时,我CGDisplayReconfigurationCallBack
看到一个虚构的显示器添加了标志设置为:
kCGDisplayMovedFlag |
kCGDisplaySetMainFlag |
kCGDisplaySetModeFlag |
kCGDisplayAddFlag |
kCGDisplayEnabledFlag |
kCGDisplayDesktopShapeChangedFlag
它有一个看似有效的CGDirectDisplayID
,但调用CGDisplayCreateUUIDFromDisplayID
返回 nil 并CGDisplayScreenSize
返回宽度和高度为零。
这种假显示器有原因吗?也许系统需要一个显示器,即使它是虚构的。
有没有一种好方法可以测试 aCGDirectDisplayID
以查看它是否是“虚构的”显示?零尺寸测试可能就足够了,但想知道是否有更认可的方法?
当我重新插入一个真实的显示器时,我看到了虚构的显示器帖子标志:
kCGDisplayRemoveFlag |
kCGDisplayDisabledFlag |
kCGDisplayDesktopShapeChangedFlag
我的应用程序必须跟踪显示,而我从没想过会找到虚构的显示。
解决方案
推荐阅读
- javascript - 旋转画布后调整图像大小时图像位置正在移动
- node.js - 使用 Identity Aware Proxy 在 nodejs AppEngine 环境中获取用户 API 访问权限
- uwp - 如何在 Azure Pipelines 上签署 UWP 应用程序?
- r - 为什么即使在加载 foreach 包后仍给出错误 %dopar% not found ?
- android - 根据新的 android 要求合并 64 位和 32 位 android APK
- c# - 实体框架模型从另一个模型访问实体
- java - 当前日期作为 Springfox 和 Swagger-UI 中的示例
- python - 从excel和python绘制的图表有什么区别?
- mysql - 如果记录不存在,如何在 group_concat 中添加空值?
- linq - LINQ 更新查询未更新 Xamarin 表单应用程序中的数据库记录