Windows 7 cannot turn off DPI/PPI scaling for an application

I have Windows 7 with DPI scaling set to 120 DPI. It makes some problems with older applications like clipped text, blurred graphics or too big text. I'd like to disable DPI scaling for these applications. I've tried that: application.exe "context menu -> properties -> compatibilty -> Disable display scaling on high DPI settings".

This setting doesn't change anything. Application is still displayed as 120 DPI, not as 96 DPI. I've also checked it on fresh, not messed Windows 7 in a virtual machine - the same behaviour.

The question is: how to force single application to use 96 DPI in another, WORKING, way?


I just had the same problem, and selecting any of the checkboxes didn't make any difference. This is what I did that fixed it:

  1. Go to "Control Panel\Appearance and Personalization\Display" and click on the "Set custom text size (DPI)" option. Make sure that the "Use Windows XP style DPI scaling" checkbox is NOT checked. Log off to apply changes if necessary.

  2. Instead of selecting the compatibility settings yourself, run the wizard and let Windows choose it for you. You can do that by right-clicking the program icon and choosing "Troubleshoot compatibility" from the menu. This fixed the display clipping for me. The text is a little fuzzy, but that I can live with; I'm just happy I can see all of it. :)


I realise this is a very old question but I've just found a fix. Switch the theme (Control Panel > All Control Panel Items > Personalisation) from an Aero theme to a Basic theme and the per-application display scaling will actually work.


just a guess, but maybe if you run the app in xp compatability mode, or perhaps disable the visual theme settings for that app, it will ignore the DPI settings?


I just had the same issue and "Option three" (see below) from sevenforums.com has helped me. I was not able to set the required setting on an application run from a remote server in the properties dialog.

Add to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers and/or HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers a new "String Value".

Change the name to the full path of your application (ie \\server\dir\app.exe or c:\dir\app.exe) and set "Value data" according to these options (multiple settings are possible and to be separated with space):

# Compatibility Mode        Data Value
Windows 95                  WIN95
Windows 98 / Windows Me     WIN98
Windows NT 4.0 (SP 5)       NT4SP5
Windows 2000                WIN2000
Windows XP (SP 2)           WINXPSP2
Windows XP (SP 3)           WINXPSP3
Windows Server 2003 (SP 1)  WINSRV03SP1
Windows Server 2008 (SP 1)  WINSRV08SP1
Windows Vista               VISTARTM
Windows Vista (SP 1)        VISTASP1
Windows Vista (SPk 2)       VISTASP2
Windows 7                   WIN7RTM

#Settings                           Data Value
Run in 256 colors                   256Color
Run in 640 x 480 screen resolution  640x480
Disable visual themes               DISABLETHEMES
Disable desktop composition         DISABLEDWM
Disable display scaling on 
  high DPI settings                 HIGHDPIAWARE
Run this program as Admin           RUNASADMIN

With these settings, I was able to run my application like that:

Name: \\server\dir\app.exe

Value Data: DISABLETHEMES HIGHDPIAWARE RUNASADMIN