Ich möchte also NICHT meine App an irgendeine Auflösung anpassen, sondern ich habe wirklich nur das gemeint, was ich geschrieben habe.
Und ich habe dir ein Manifest geschickt, mit der deine Anwendung (zumindest unter einer aktuellen Windows-Version) diese Informationen in den von dir bereits abgefragten Werten für PixelsPerInch liefert.
Wenn dein Programm nicht explizit als High-DPI-kompatibel gekennzeichnet ist, dann werden gewisse APIs "virtualisiert" und liefern dir in deinem Programm "andere" Werte,
entsprechend den Daten die Windows bei der Skalierung verwendet, wird dir da nur das interne/virtuelle Wert gegeben, welchen dein Programm eben nutzt, anstatt dem, was wirklich im System vorhanden ist.
Es ist praktisch das Gleiche wie bei den unterschiedlichen Verzeichnissen für 64 Bit und 32 Bit, wo dein Programm "hintenrum" auf andere Verzeichnisse umgelenkt wird, ohne dass es selber was davon mitbekommt. (außer es deaktiviert diese automatischen Umleitungen).
Und gerade für sowas gibt es eben dieses Manifest, wo dein Programm dem Windows seine "Fähigkeiten" mitteilt und Windows dann entsprechend andere Funktions-Versionen verwendet oder eben gewisse Dinge umleitet/virtualisiert.