Erkennen Sie, ob eine nicht DPI-fähige Anwendung skaliert / virtualisiert wurde

Ich versuche in einer WinForms-Anwendung zu erkennen, ob sie im skalierten / virtualisierten Modus gestartet wurde, weil das Betriebssystem eine hohe DPI aufweist. Derzeit sieht die Anwendung in einem System mit 3840 x 2400 mit 200% Skalierung eine Auflösung von 1920 x 1200, eine DPI von 96 und einen Skalierungsfaktor von 1.

Wir sind dabei, die Anwendung DPI-fähig zu machen, aber bis dahin benötigen wir eine "schnelle Lösung", mit der wir erkennen können, ob skaliert wurde. Der Grund dafür ist, dass eine Funktion in der Anwendung, die einen Screenshot erstellt, nicht mehr funktioniert. Wir verwenden die skalierten Dimensionen in Graphics.CopyFromScreen. Es wird ein Screenshot mit der falschen Größe erstellt, da die nicht skalierten Dimensionen erwartet werden.

ch kenne die DPI-Erkennungseinstellung, aber im Moment möchten wir, dass die Anwendung skaliert wird, können aber erkennen, dass wir skaliert sind, und die nicht skalierten Dimensionen erhalten, wenn möglic

Antworten auf die Frage(2)

Ihre Antwort auf die Frage