Wie kann ich die Skalierung einer Anwendung mit hoher Auflösung erzwingen?
Stellen Sie sich vor, es gibt eine Anwendung, deren Entwickler sie als hochauflösend erkannt haben, obwohl dies nicht der Fall ist. Wie kann ich die dpi-Skalierung erzwingen?
Stellen Sie sich vor, es gäbe eine Anwendung, bei der Microsoft "
HighDpiAware
" das Kompatibilitäts-Shim angewendet hat, obwohl die Anwendung dies wirklich nicht ist. Wie kann ich die dpi-Skalierung erzwingen?
Wie kann ich Windows zwingen, eine Anwendung mit dpi-Skalierung zu versehen?
Bearbeiten: Was ist eine hochauflösende Skalierung?
Nicht alle Benutzer verwenden Windows mit 96 dpi. Nicht jede Schaltfläche soll 75x23 Pixel groß sein, nicht jede Symbolleiste ist 25 Pixel hoch und nicht jede Baumansicht-Glyphe ist 16x16. Wenn der Benutzer eine andere dpi-Einstellung für Windows gewählt hat, müssen Sie alles entsprechend skalieren.
Das Problem ist, dass fast keine Entwickler ihre Arbeit tun, indem sie die Einstellungen für hohe Auflösung gut handhaben. Bestenfalls bleibt alles "gleich groß", was bedeutet, dass jeder winzig klein erscheint . Im schlimmsten Fall sind die Formulare falsch angeordnet, der Text abgeschnitten und die Steuerelemente nicht sichtbar.
Beginnend mit Windows Vista und der Nutzung der Leistungsfähigkeit von Desktop Composition gab Microsoft die Entwickler auf, die ihre Arbeit erledigten, und lag nun an der Anwendung. Sie teilen Apps mit, dass der Benutzer mit 96 dpi arbeitet. Windows verwendet dann die Grafikkarte und Desktop Composition, um die Formulare zu skalieren.
Pro: Der Inhalt des Formulars wird eine gut lesbare Größe haben.
Con: Alles wird leicht verschwommen sein.
Diese "High-dpi-Skalierungsfunktion" steht nur dem Benutzer zur Verfügung und erfordert:
- Windows Vista oder neuer
- Desktop Composition muss aktiviert sein
- der Benutzer zu deaktivieren "Windows XP-Stil Skalierung verwenden"
- den Benutzer, die Skalierung für Ihre Anwendung nicht zu deaktivieren
Als Entwickler können Sie die hochauflösende Skalierung deaktivieren. Wenn Sie sich die Mühe gemacht haben, Ihre Anwendung richtig zu schreiben, und Sie wissen, dass Sie mit High-dpi richtig umgehen. Sie deaktivieren diese Skalierung, indem Sie Ihrer ausführbaren Datei einen Manifest-Eintrag hinzufügen und erklären, dass Sie " High-dpi-fähig " sind.
Das Thema, wie Ihre Anwendung die Einstellungen des Benutzers (einschließlich Schriftart, Schriftgröße und dpi-Einstellung) berücksichtigen soll, ist eine Frage für stack overflow
. Wie ist die Syntax für den Manifest-Eintrag, der Ihr " High-dpi-Bewusstsein " ausdrückt .
Diese Frage, auf Super-User , ist , wie man ignoriert einen Entwickler, den voranging und hatte einen High-dpi bewusst manifestieren Eintrag, wenn in der Tat die Anwendung ist nicht High-dpi bewusst. Sie forderten Windows auf, die Skalierung zu deaktivieren, testeten die Anwendung jedoch nicht. Es gibt Software mit einem Manifest-Eintrag, der "High-dpi-fähig" ist, und jetzt ist die Anwendung unter "großen Schriftarten" (z. B. 120 dpi) unbrauchbar.