微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。