20

I am compiling and building an OpenCV app on Windows 10, which shows some images.
I want to overrride the high DPI scaling behavior and set it to "Application".

I can do this fine on the .exe file by: Right-Click->Properties->Compatibility Tab and checking the checkbox.:

enter image description here

Is there a command line tool I can use to do that as part of a script?

2 Answers2

21

You make a bat file script.

Here's how.

Make sure where the application is placed.

If the application is 64 bit "%programfiles%\<appfoldername>\<app>.exe"

If the application is 32 bit "%programfiles(x86)%\<appfoldername>\<app>.exe"

~HIGHDPIAWARE Indicates value of Override high DPI scaling behavior (Application)

~DPIUNAWARE Indicates value of Override high DPI scaling behavior (System)

"~GDIDPISCALING DPIUNAWARE" Indicates value of Override high DPI scaling behavior (System Enhanced) add double quote also

I am doing this for Itunes (64 bit).

Particular User

REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%programfiles%\iTunes\iTunes.exe" /T REG_SZ /D ~HIGHDPIAWARE /F

All User

REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%programfiles%\iTunes\iTunes.exe" /T REG_SZ /D ~HIGHDPIAWARE /F
1

Following the previous advice I added the reg value HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers with a value of ~ DPIUNAWARE including the space after the tilde.

However, it turned out that this DOES NOT work, UNLESS I set and remove the corresponding setting for the current user in HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.

So my solution follows those above but requires the HKCU key to be set and reset in advance.