我正在开发一个项目,要求我获得主屏幕屏幕的分辨率。我在Windows中使用C#.NET 3.5框架。对于所有笔记本电脑,我可以使用这两个电话获得解决方案:
string width = Screen.PrimaryScreen.Bounds.Width.ToString();
string height = Screen.PrimaryScreen.Bounds.Height.ToString();
但是,这对Surface平板电脑完全不起作用,因为调用的分辨率远低于平板电脑显示设置中显示的分辨率。据我所知,这与Windows做与DPI相关的特殊事情并相应地缩放屏幕有关。
但是,我不确定如何以编程方式准确地检索Surface平板电脑的分辨率(显示设置会报告这些指标)。
答案 0 :(得分:2)
所以我想出了问题所在。我必须添加以在app.manifest
文件中执行以下操作:
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>