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)
Best Answer
i asked Chris Jackson, the AppCompat guy. He said:
So, Chris, if you ever join SuperUser - you can get credit for your answer.