Vista/7: Possible to DPI lie, but without the scaling?
In Windows Vista and Windows 7, it is possible to lie to applications about what the current horizontal and vertical DPI setting is.
Background: The "normal" setting on Windows is 96dpi. Most applications do not handle the user having a preference different from the developer's preference. Starting with with Windows Vista, Microsoft worked around the buggy applications, and decide to lie to them - but scale them up graphically.
So Windows already does have a mechanism to lie to an application about what the current DPI setting is; always returning 96. Windows then using the video card to scale the final composited window up to the appropriate size.
i have an application that thinks it can handle high-dpi mode, but really it cannot. So i want to Windows to lie to this app. But at the same time i use the app all day, typing in screenfuls of text. The scaling applied by the desktop compositer leaves the text fuzzier, and unpleasant to read.
Is it possible to lie to an application about the DPI setting, but not have dpi scaling applied?
See also
- How to force high-dpi scaling? (my question about the inverse case; overriding an app's opt-out of the higih-dpi scaling)
i asked Chris Jackson, the AppCompat guy. He said:
We don’t have such an ability, the scaled mode is what we have to handle those situations. Yes, there clearly are some things that are suboptimal about how we do that (I hate the fuzzies too), but it’s hard to get a second fix approved which technically solves the same thing since that means that engineer isn’t doing something else to make the world a better place.
So, Chris, if you ever join SuperUser - you can get credit for your answer.