The AppCompat settings are stored in the registry in the key 'HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags'.
Per application settings
For each program on the system that has been configured with AppCompat settings, there is one REG_SZ value in the 'Layers' subkey of the AppCompatFlags key. The name of the value is the DOS path of the application, the value contains the settings as a space speparated list.
- Compatibility version: WIN95 WIN98 WINNT4SP5 WIN2000 WINXPSP2 WINXPSP3 WINSRV03SP1 WINSRV08SP1 VISTARTM VISTASP1 VISTASP2 WIN7RTM
- Compatibility flags: 256COLOR 640X480 DISABLETHEMES DISABLEDWM HIGHDPIAWARE
Windows allows any order of these settings. If the OS version is defined twice, the Compatibility tab in the application properties will show the OS that correspeonds with the last entry.
Read/Write with SdbGetPermLayerKeys/SetPermLayerState.
See https://git.reactos.org/?p=reactos.git;a=blob;f=reactos/dll/shellext/acppage/CLayerUIPropPage.cpp;hb=dc6680a387a15ad4ed347c8e82454a91d2171c49#l65 for a list of modes that can be set with the 'Compatibility' tab