Windows显示设置为150%时仍显示96 DPI [英] Windows Display Setting at 150% still shows 96 DPI

查看:497
本文介绍了Windows显示设置为150%时仍显示96 DPI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在运行Win7的笔记本电脑上,当我将显示设置设置为125%时,DPI显示为120(同时使用graphics.DpiX和GetDeviceCaps)。但是,显示为150%时,DPI为96(?!),就像显示为100%一样。有谁知道a)为什么会这样,b)除了检查DPI来检测显示是否设置为100%以外的其他任何方法?我正在编写一个要在显示设置为> = 150%时显示消息的应用。

On my laptop running Win7, when I set the display setting to 125%, the DPI shows up as 120 (using both graphics.DpiX and GetDeviceCaps) as expected. However, with the display at 150%, the DPI is 96 (?!), just like it is at 100%. Does anyone know a) why this is the case and b) is there any other way other than checking the DPI to detect if the display is set to anything other than 100%? I'm writing an app that I want to display a message when the display is set to >= 150%.

谢谢。

推荐答案

在Windows Vista和Windows 7上,DPI高于120(我认为)并且认为它不具有DPI意识的应用程序,它们会切换到DPI虚拟化模式。

On Windows Vista and Windows 7, with DPIs above 120 (I think) and applications that it considers to be non-DPI aware, they switch into DPI Virtualization Mode.

这确实符合您的要求-应用程序认为它以96dpi的速度运行,而Windows会将其炸毁并呈现出更大的内容(并且更加模糊)。

This does exactly what you're seeing - the application thinks it's running in 96dpi while Windows blows it up and renders everything bigger (and blurrier).

有关更多详细信息: https:// docs.microsoft.com/en-gb/windows/win32/hidpi

(原始链接(现已重定向至上方): http://msdn.microsoft.com/zh-CN/library/dd464660 (VS.85).aspx#dpi_virtualization

(original link (now redirects to above): http://msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx#dpi_virtualization)

本文介绍了如何在pe上禁用它基于应用程序。

The article explains how to disable it on a per-application basis.

这篇关于Windows显示设置为150%时仍显示96 DPI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆