c++ - EnumDisplaySettings 不返回超宽显示器分辨率
问题描述
我正在EnumDisplaySettings
尝试获取用户显示器支持的所有分辨率,但使用超宽显示器的用户报告说未列出本机分辨率。
(代码使用了一些 Unreal-specific 容器,但这应该适用于任何 Windows 设置)
TArray<FIntPoint> GetResolutionsForDisplayDevice( DISPLAY_DEVICE& dd )
{
TArray<FIntPoint> resolutions;
DEVMODE dm = { 0 };
dm.dmSize = sizeof( DEVMODE );
dm.dmDriverExtra = 0;
for ( uint32 i = 0; EnumDisplaySettings( dd.DeviceName, i, &dm ) != 0; i++ )
{
resolutions.AddUnique( FIntPoint( dm.dmPelsWidth, dm.dmPelsHeight ) );
}
return resolutions;
}
例如,这段代码在一台带有一个显示器的计算机上运行时,其原始分辨率为 5120x1440,它列出了一堆分辨率,但最大的一个是 3840x1080。
解决方案
推荐阅读
- machine-learning - Tensorflow js 中的时间序列预测
- android - 项目在 android studio 3.6 中工作,在 android studio 4.0 中不工作
- python - 如何使用残差正确地将 numpy 数组转换为图像?
- azure-data-factory - Azure 数据工厂 - 每个内部活动都失败
- swift - document.body.scrollHeight 不能在 swift 中与 Ipad 一起使用
- python - 在 Windows 10 后台运行 python 脚本
- android - 底部导航未根据默认语言更新
- python - 排序后如何从列表的块中获取元素的原始位置?
- c# - WPF ListBox SelectedIndex 与分组
- python - 运行芹菜任务时如何取消确认消息?