Dpi Aware

设置

 <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <!--<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>-->
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
    </windowsSettings>
  </application>

获取虚拟屏幕的尺寸的三种方式

通过api获取

int left = GetSystemMetrics(SM_XVIRTUALSCREEN);
int top = GetSystemMetrics(SM_YVIRTUALSCREEN);
int width = GetSystemMetrics(SM_CXVIRTUALSCREEN);
int height = GetSystemMetrics(SM_CYVIRTUALSCREEN);

通过winform获取

int width3 = SystemInformation.VirtualScreen.Width;
int height3 = SystemInformation.VirtualScreen.Height;

通过wpf获取

double height1 = SystemParameters.VirtualScreenHeight;
double width1 = SystemParameters.VirtualScreenWidth;

  • dpi不为100%时, 当没有设置 以下代码的时候,不管是通过api,还是通过winform、wpf获取到的虚拟屏幕的高度都不正确, 所以必须设置以下代码
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> </windowsSettings>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,329评论 1 41
  • 目录 什么是WPF? WPF的历史? 为什么要用WPF及WPF作用 WPF与winForm区别? 什么是WPF? ...
    灬52赫兹灬阅读 5,884评论 2 11
  • XML bitmap XML 位图是在 XML 中定义的资源,指向位图文件。实际上是原始位图文件的别名。XML 可...
    李建彪阅读 1,769评论 0 3
  • manifest 应用清单 action 元素必须包含一个或多个 元素。如果intent过滤器中没有 元素,则过滤...
    ColdWave阅读 1,313评论 0 1
  • 姓名:陈正文 公司:宁波金亿精密机械有限公司 【六项精进打卡第35天】 【知~学习】 读《六项精进》大纲 0遍 共...
    A小陈_4bb5阅读 250评论 0 0