API et paramètres de registre liés à la résolution
Si vous devez effectuer des personnalisations de déploiement, les sections suivantes expliquent les clés de Registre et les paramètres système auxquels vos scripts post-installation peuvent avoir besoin d’accéder.
Dans cet article :
Résolution native d’affichage principal
Le tableau 1 Windows 8.1 Niveaux de mise à l’échelle, bien qu’il ne soit pas exhaustif, fournit des informations sur le niveau de mise à l’échelle Windows 8.1 pour un certain nombre d’affichages courants. Ppp du panneau indique la densité de pixels physiques du panneau, et le niveau de mise à l’échelle indique le facteur d’échelle qui sera utilisé pour cet affichage.
Tableau 1 Windows 8.1 niveaux de mise à l’échelle
Taille de l’écran | Résolution de l’affichage | Horizontal (pixels) | Vertical (pixels) | PPP du panneau | Niveau de mise à l’échelle |
---|---|---|---|---|---|
10.6" | FHD | 1920 | 1080 | 208 | 150% |
10.6" | DD | 1366 | 768 | 148 | 100 % |
11.6" | WUXGA | 1920 | 1200 | 195 | 150% |
11.6" | DD | 1366 | 768 | 135 | 100 % |
13.3" | WUXGA | 1920 | 1200 | 170 | 150% |
13.3" | QHD | 2560 | 1440 | 221 | 200% |
13.3" | DD | 1366 | 768 | 118 | 100 % |
15.4" | FHD | 1920 | 1080 | 143 | 125% |
15.6" | QHD+ | 3200 | 1800 | 235 | 200% |
17" | FHD | 1920 | 1080 | 130 | 125% |
23" | QFHD (4K) | 3840 | 2160 | 192 | 200% |
24" | QHD | 2560 | 1440 | 122 | 125% |
Pour trouver ces informations par programme pour n’importe quel appareil, vous pouvez écrire un programme utilitaire qui signale les données. La résolution primaire native est récupérée en appelant la fonction GETDeviceCaps() de l’API, à l’aide du hdc pour le bureau et des index HORZRES et VERTRES :
// Get desktop dc
desktopDc = GetDC(NULL);
// Get native resolution
horizontalResolution = GetDeviceCaps(desktopDc,HORZRES);
verticalResolution = GetDeviceCaps(desktopDc,VERTRES);
Pour plus d’informations sur GetDC, consultez La fonction GetDC().
Facteur d’échelle DPI d’affichage principal
De même, vous pouvez obtenir la densité de pixels à l’aide des index LOGPIXELSX et LOGPIXELSY :
// Get desktop dc
desktopDc = GetDC(NULL);
// Get native resolution
horizontalDPI = GetDeviceCaps(desktopDc,LOGPIXELSX);
verticalDPI = GetDeviceCaps(desktopDc,LOGPIXELSY);
Ces résultats sont retournés dans un système de coordonnées dans lequel 96 correspond à 100 %, comme indiqué dans le tableau 2 Facteurs d’échelle PPP.
Tableau 2 Facteurs d’échelle PPP
PPP | Facteur d’échelle |
---|---|
96 | 100 |
120 | 125 |
144 | 150 |
192 | 200 |
Notes
Cette API retourne des résultats différents en fonction du mode de sensibilisation PPP de votre application. La configuration du mode de sensibilisation nécessite l’ajout de XML au manifeste de l’application, comme indiqué ci-dessous :
Mode de sensibilisation PPP | Paramètre de manifeste | Valeur renvoyée |
---|---|---|
None | None | 96 pour tous les affichages, quel que soit le facteur d’échelle |
Prise en charge des PPP système | <dpiAware>True</dpiAware> | Ppp de l’affichage principal au moment du démarrage de la session Windows (lorsque l’utilisateur s’est connecté à Windows pour la première fois) |
Per-Monitor prise en charge des PPP | <dpiAware>True/PM</dpiAware> | Ppp de l’affichage principal au moment du démarrage de la session Windows (lorsque l’utilisateur s’est connecté à Windows pour la première fois). Pour obtenir la résolution de l’affichage sur lequel se trouve l’application, utilisez GetWindowDpi() ou GetDpiForMonitor() |
Pour plus d’informations sur ce paramètre de manifeste, consultez Fonction SetProcessDPIAware.
Mode de mise à l’échelle
La Panneau de configuration\ Apparence et personnalisation\Interface utilisateur d’affichage inclut une case à cocher : Permettez-moi de choisir un niveau de mise à l’échelle pour tous mes affichages, qui détermine si le système applique un facteur d’échelle unique à tous les affichages (comme dans les versions Windows 8 et antérieures de Windows) ou différents facteurs d’échelle qui prennent en compte la densité de pixels de chaque affichage (le Windows 8.1 valeur par défaut). Cette case à cocher configure la clé de Registre HKCU\Panneau de configuration\Desktop\Win8DpiScaling dans Windows 8.1.
Tableau 3 HKCU\Panneau de configuration\Desktop\Win8DpiScaling Values
Valeur de la clé | Signification |
---|---|
0 | Différents facteurs d’échelle pour chaque affichage : Windows 8.1 valeur par défaut. Le contenu déplacé d’un affichage à un autre aura la bonne taille, mais peut être mis à l’échelle bitmap. |
1 | Le même facteur d’échelle est appliqué à tous les affichages : comportement Windows 8 et versions antérieures de Windows. Le contenu déplacé d’un affichage à un autre peut avoir une taille incorrecte. |
Remplacement de mise à l’échelle en mode de mise à l’échelle Windows 8.1
Lorsque la case Laisser choisir un niveau de mise à l’échelle pour tous mes affichages est désactivée et que le système s’exécute en mode de mise à l’échelle Windows 8.1, l’utilisateur dispose d’un curseur qui lui permet de remplacer les facteurs d’échelle actuels, de Plus petit à Moyen, à Plus grand. Ce paramètre est configuré dans la clé de Registre HKCU\Panneau de configuration\Desktop\DesktopDPIOverride.
Tableau 4 HKCU\Panneau de configuration\Desktop\DesktopDPIOverride Values
Valeur de la clé | Signification |
---|---|
<0 | Réduisez chaque facteur d’échelle d’affichage par rapport à la valeur par défaut (par exemple, si la mise à l’échelle par défaut était de 150 %, -1 correspond à 125 %, -2 à 100 %). |
0 | Utilisez la valeur par défaut pour chaque affichage. |
0> | Augmentez chaque facteur d’affichage de cette valeur (à l’aide de l’exemple précédent, +1 correspond à une mise à l’échelle de 200 %). |
Tous les facteurs d’échelle d’affichage dans ce mode sont limités à l’une des quatre valeurs suivantes : 100 %, 125 %, 150 %, 200 %. En outre, une fois la mise à l’échelle appliquée, les applications s’attendent à avoir au moins 720 lignes de résolution effectives (autrement dit, la résolution verticale physique de l’affichage divisée par le facteur d’échelle) ; cela peut limiter davantage la plage de facteurs d’échelle d’affichage autorisés. Le tableau 5 Valeurs d’affichage indique les valeurs autorisées pour différentes tailles d’affichage :
Tableau 5 Valeurs d’affichage
Lignes verticales | Facteurs d’échelle pris en charge |
---|---|
<900 | 100 % |
>= 900 et <1080 | 100%, 125% |
>=1080 et <1440 | 100%, 125%, 150% |
>=1440 | 100%, 125%, 150%, 200% |
Facteur d’échelle à l’échelle du système en mode de mise à l’échelle Windows 8
Lorsque la case À cocher Me permettre de choisir un niveau de mise à l’échelle pour tous mes affichages est cochée, l’utilisateur peut spécifier un facteur d’échelle qui s’applique à tous les affichages, quelle que soit la densité de pixels de chaque affichage. En utilisant le paramètre personnalisé, l’utilisateur peut sélectionner des valeurs autres que 100 %, 125 %, 150 %, 200 %, bien qu’elles soient limitées à la plage (100 %-500 %). Ce paramètre est configuré dans la clé de Registre HKCU\Panneau de configuration\Desktop\LogPixels.
Tableau 6 HKCU\Panneau de configuration\Desktop\LogPixels Values
Valeur de la clé | Signification |
---|---|
96 | Mise à l’échelle à 100 % sur chaque affichage |
120 | Mise à l’échelle de 125 % sur chaque affichage |
144 | Mise à l’échelle de 150 % sur chaque affichage |
192 | Mise à l’échelle à 200 % sur chaque affichage |
<other> | <autre> mise à l’échelle 96/100 sur chaque écran |
Articles connexes
Documentation pour le développement d’applications haute résolution
Prise en charge haute résolution pour les professionnels de l’informatique