【发布时间】:2019-05-10 15:37:20
【问题描述】:
有没有办法在 c++ 和 winapi 中获得推荐的分辨率?
我通过使用GetMonitorInfo、EnumDisplaySettings、EnumDisplayMonitors 或GetSystemMetrics 仅获得当前分辨率。
编辑: 经过一番研究,我发现了这个示例代码Example code for displaying an app on a portrait device。
即使不是关于本机分辨率,它也会显示如何获取它。为此,请查看函数 HRESULT GetPathInfo(_In_ PCWSTR pszDeviceName, _Out_ DISPLAYCONFIG_PATH_INFO* pPathInfo) 和 bool IsNativeOrientationPortrait(const LUID AdapterLuid, const UINT32 TargetId)。
到目前为止,该代码可以工作,但我不知道它在 Windows 8.1 和以前版本下的表现如何。没有做任何进一步的测试。
【问题讨论】:
-
推荐的分辨率是显示器的原始分辨率。 stackoverflow.com/a/10073368/17034
-
如果有人故意将他们的显示器设置为非本机分辨率,这不是他们想要使用的分辨率吗?为什么像素羞辱他们? ;-)
-
@dave 这不是关于羞辱。这是关于找到显示器的原始分辨率。
-
@DavidHeffernan 该问题询问的是“首选”和“推荐”分辨率,而不是原始分辨率。也许这是一个翻译错误,Zen1000 的意思是说“本地”,但如果是这样,最好编辑问题标题和文本以使其更清楚。