Comment puis-je forcer une application à être mise à l'échelle haute résolution?
Imaginez qu'il existe une application, dont les développeurs l'ont manifestée comme étant à haute résolution, alors qu'elle ne l'est vraiment pas. Comment forcer la mise à l'échelle dpi?
Imaginez qu'il existe une application que Microsoft a appliqué le "
HighDpiAware
" module de compatibilité, alors que l'application ne l'est pas vraiment. Comment forcer la mise à l'échelle dpi?
Comment puis-je forcer Windows à appliquer une mise à l'échelle dpi à une application?
Modifier: Qu'est-ce que la mise à l'échelle haute résolution?
Tous les utilisateurs n'exécutent pas Windows à 96 dpi. Tous les boutons ne sont pas censés mesurer 75 x 23 pixels, toutes les barres d'outils n'ont pas une hauteur de 25 pixels et tous les glyphes d'arborescence ne sont pas 16 x 16. Si l'utilisateur a choisi un paramètre dpi différent pour Windows, vous devez tout mettre à l'échelle de manière appropriée.
Le problème est que presque aucun développeur ne fait son travail en gérant correctement les paramètres haute résolution. Au mieux, tout restera "de la même taille", ce qui signifie que tout semble minuscule . Au pire, les formulaires sont mal disposés, le texte est tronqué et les commandes ne sont pas visibles.
En commençant par Windows Vista et en tirant parti de la puissance de la composition de bureau, Microsoft a abandonné les développeurs qui font leur travail et se tournent désormais vers les applications. Ils indiquent aux applications que l'utilisateur fonctionne à 96 dpi. Windows utilise ensuite la carte vidéo et la composition du bureau pour mettre à l'échelle les formulaires.
Pro: le contenu du formulaire sera d'une belle taille lisible.
Con: tout sera légèrement flou.
Cette fonctionnalité de "mise à l'échelle haute résolution" ne fonctionne qu'à la discrétion de l'utilisateur et nécessite:
- Windows Vista ou plus récent
- Composition du bureau à activer
- l'utilisateur de désactiver "Utiliser la mise à l'échelle de style Windows XP"
- l'utilisateur de ne pas désactiver la mise à l'échelle pour votre application
En tant que développeur, vous pouvez désactiver la mise à l'échelle haute résolution; si vous avez pris l'effort d'écrire votre application correctement et que vous savez que vous gérerez correctement les ppp élevés. Vous désactivez cette mise à l'échelle en ajoutant une entrée manifeste à votre exécutable, déclarant que vous êtes " conscient de la haute résolution ".
La question de savoir comment faire en sorte que votre application respecte les préférences de l'utilisateur (y compris le visage de la police, la taille de la police et le paramètre dpi) est une question pour stack overflow
. Tout comme la syntaxe de l'entrée de manifeste déclarant votre " prise de conscience haute résolution ".
Cette question, sur le super-utilisateur , est de savoir comment ignorer un développeur qui a décidé d'ajouter une entrée de manifeste prenant en charge la résolution élevée, alors qu'en réalité, l'application n'est pas compatible avec la résolution élevée. Ils ont dit à Windows de désactiver la mise à l'échelle, mais ils n'ont pas réellement testé l'application. Il existe un logiciel avec une entrée de manifeste "conscient de la haute résolution", et maintenant l'application est inutilisable sous "grandes polices" (par exemple 120 dpi).