I want to change the compatibility settings of certain programs manually using the registry in Windows. (For some programs like Microsoft Office the "Compatibility" tab does not exist in the properties window of the executable file.)
Compatibility settings are stored in registry keys of type
REG_SZ with the path of the executable file as the name of the key under
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers and
However, in some cases it turns out that the value of the string is slightly different although it handles the same compatibility setting:
Example 1: screenshot
This is the resulting string when you go through Troubleshoot compatibility > The program opens but doesn't display correctly > Program does not display properly when large scale font settings are selected.
Example 2: screenshot
This is the result when you go through example one and afterwards open the file properties > Compatibility > Change high DPI settings. Override high DPI scaling behavior. Scaling performed by: is already selected and set to Application. Press OK and Apply.
Example 3: screenshot
This is the result when you open the file properties > Compatibility > Change high DPI settings and Override high DPI scaling behavior. Scaling performed by: is not yet selected. Tick the box and select Application, press OK and Apply.
All three versions seem to work and have the same effect. Also I can simply omit the special character at the beginning and it still looks like the setting is working.
I want to understand why the values of the registry keys are different while they seem to have the same effect? What is the purpose or meaning of the tilde sign or the circumflex sign at the beginning of the string? Does it have any hidden effect, that is not obvious at first glance?