énumération DPI_AWARENESS (windef.h)

Identifie le paramètre points par pouce (ppp) pour un thread, un processus ou une fenêtre.

Syntax

typedef enum DPI_AWARENESS {
  DPI_AWARENESS_INVALID = -1,
  DPI_AWARENESS_UNAWARE = 0,
  DPI_AWARENESS_SYSTEM_AWARE = 1,
  DPI_AWARENESS_PER_MONITOR_AWARE = 2
} ;

Constantes

 
DPI_AWARENESS_INVALID
Valeur : -1
Reconnaissance ppp non valide. Il s’agit d’une valeur de reconnaissance ppp non valide.
DPI_AWARENESS_UNAWARE
Valeur : 0
Ppp non pris en compte. Ce processus n’est pas mis à l’échelle pour les modifications ppp et est toujours supposé avoir un facteur d’échelle de 100 % (96 PPP). Il sera automatiquement mis à l’échelle par le système sur n’importe quel autre paramètre PPP.
DPI_AWARENESS_SYSTEM_AWARE
Valeur : 1
Prise en charge de la résolution du système. Ce processus n’est pas mis à l’échelle pour les modifications PPP. Il interroge l’ppp une fois et utilise cette valeur pendant la durée de vie du processus. Si la PPP change, le processus ne s’ajuste pas à la nouvelle valeur PPP. Elle est automatiquement mise à l’échelle par le système lorsque la pppe change de la valeur système.
DPI_AWARENESS_PER_MONITOR_AWARE
Valeur : 2
Prise en charge de la résolution par moniteur. Ce processus vérifie la résolution lors de sa création et ajuste le facteur d’échelle chaque fois que la ppp change. Ces processus ne sont pas automatiquement mis à l’échelle par le système.

Remarques

Dans les versions précédentes de Windows, les valeurs PPP n’étaient définies qu’une seule fois pour une application entière. Pour ces applications, le type de PROCESS_DPI_AWARENESS a déterminé le type de reconnaissance PPP pour l’ensemble de l’application. Actuellement, la reconnaissance PPP est définie au niveau d’un thread, d’une fenêtre ou d’un processus individuel et est indiquée par le type DPI_AWARENESS . Bien que le focus soit passé d’un niveau de processus à un niveau de thread, les différents types de sensibilisation ppp sont les mêmes : non conscients, système et par moniteur. Pour obtenir des descriptions détaillées et des exemples des différents types PPP, consultez PROCESS_DPI_AWARENESS.

L’ancienne recommandation consistait à définir le niveau de sensibilisation PPP dans le manifeste de l’application à l’aide du paramètre dpiAware , comme expliqué dans PROCESS_DPI_AWARENESS. Maintenant que la reconnaissance PPP est liée aux threads et aux fenêtres au lieu d’une application entière, un nouveau paramètre windows est ajouté au manifeste de l’application. Ce paramètre est dpiAwareness et remplace tout paramètre dpiAware si les deux sont présents dans le manifeste. Bien qu’il soit toujours recommandé d’utiliser le manifeste, vous pouvez maintenant modifier la reconnaissance ppp pendant l’exécution de l’application à l’aide de SetThreadDpiAwarenessContext.

Il est important de noter que si votre application a une fenêtre DPI_AWARENESS_PER_MONITOR_AWARE , vous êtes responsable du suivi de l’ppp en répondant aux messages WM_DPICHANGED .

Exemples

Cet extrait de code montre comment définir une valeur de DPI_AWARENESS_SYSTEM_AWARE dans le manifeste de votre application.

<dpiAwareness>System</dpiAwareness>

Cet extrait de code montre comment définir une valeur de DPI_AWARENESS_PER_MONITOR_AWARE dans le manifeste de votre application.

<dpiAwareness>PerMonitor</dpiAwareness>

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 (applications de bureau uniquement)
Serveur minimal pris en charge Aucun pris en charge
En-tête windef.h

Voir aussi

PROCESS_DPI_AWARENESS

SetThreadDpiAwarenessContext