Surface平板电脑逻辑分辨率

时间:2015-01-15 06:08:05

标签: c# .net dpi

我正在开发一个项目,要求我获得主屏幕屏幕的分辨率。我在Windows中使用C#.NET 3.5框架。对于所有笔记本电脑,我可以使用这两个电话获得解决方案:

string width = Screen.PrimaryScreen.Bounds.Width.ToString();
string height = Screen.PrimaryScreen.Bounds.Height.ToString();

但是,这对Surface平板电脑完全不起作用,因为调用的分辨率远低于平板电脑显示设置中显示的分辨率。据我所知,这与Windows做与DPI相关的特殊事情并相应地缩放屏幕有关。

但是,我不确定如何以编程方式准确地检索Surface平板电脑的分辨率(显示设置会报告这些指标)。

1 个答案:

答案 0 :(得分:2)

所以我想出了问题所在。我必须添加以在app.manifest文件中执行以下操作:

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <dpiAware>True/PM</dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>