Partager via


Fonction SetProcessDpiAwarenessContext (winuser.h)

Définit le processus actuel sur un contexte de prise de conscience des points par pouce (ppp) spécifié. Les contextes de sensibilisation DPI proviennent de la valeur DPI_AWARENESS_CONTEXT .

Notes

Il est recommandé de définir la reconnaissance de ppp par défaut du processus via le manifeste de l’application, et non un appel d’API. Pour plus d’informations, consultez Définition de la reconnaissance DPI par défaut pour un processus . La définition de la reconnaissance DPI par défaut du processus via un appel d’API peut entraîner un comportement inattendu de l’application.

Syntaxe

BOOL SetProcessDpiAwarenessContext(
  [in] DPI_AWARENESS_CONTEXT value
);

Paramètres

[in] value

Handle DPI_AWARENESS_CONTEXT à définir.

Valeur renvoyée

Cette fonction retourne TRUE si l’opération a réussi, et FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Les erreurs possibles sont ERROR_INVALID_PARAMETER pour une entrée non valide et ERROR_ACCESS_DENIED si le mode de sensibilisation à l’API par défaut pour le processus a déjà été défini (via un appel d’API précédent ou dans le manifeste de l’application).

Remarques

Cette API est une version plus avancée de l’API SetProcessDpiAwareness , qui permet au processus par défaut d’être défini sur les valeurs de DPI_AWARENESS_CONTEXT plus fines. Plus important encore, cela vous permet de définir par programmation Per Monitor v2 comme valeur par défaut du processus, ce qui n’est pas possible avec l’API précédente.

Cette méthode définit la DPI_AWARENESS_CONTEXT par défaut pour tous les threads au sein d’une application. Les threads individuels peuvent avoir une reconnaissance DPI modifiée par défaut avec la méthode SetThreadDpiAwarenessContext .

Vous devez appeler cette API avant d’appeler toutes les API qui dépendent de la prise de conscience DPI (y compris avant de créer une interface utilisateur dans votre processus). Une fois que la sensibilisation à l’API est définie pour une application, tous les appels futurs à cette API échouent. Cela est vrai, que vous définissiez la reconnaissance DPI dans le manifeste ou à l’aide de cette API.

Si le niveau de reconnaissance DPI n’est pas défini, la valeur par défaut est DPI_AWARENESS_CONTEXT_UNAWARE.

Configuration requise

   
Client minimal pris en charge Windows 10, version 1703 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2016 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

DPI_AWARENESS_CONTEXT

SetThreadDpiAwarenessContext

Définition de la reconnaissance DPI par défaut pour un processus