EnumDisplaySettings 不返回超宽显示器分辨率

问题描述

我正在使用 EnumdisplaySettings 尝试获取用户显示支持的所有分辨率,但使用超宽显示器的用户报告未列出原始分辨率。

代码使用了一些 Unreal 特定的容器,但这应该适用于任何 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。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)