SetWindowDisplayAffinity, fonction (winuser.h)

Spécifie où le contenu de la fenêtre peut être affiché.

Syntaxe

BOOL SetWindowDisplayAffinity(
  [in] HWND  hWnd,
  [in] DWORD dwAffinity
);

Paramètres

[in] hWnd

Type : HWND

Handle de la fenêtre de niveau supérieur. La fenêtre doit appartenir au processus actuel.

[in] dwAffinity

Type : DWORD

Paramètre d’affinité d’affichage qui spécifie où le contenu de la fenêtre peut être affiché.

Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
WDA_NONE
0x00000000
N’impose aucune restriction sur l’emplacement où la fenêtre peut être affichée.
WDA_MONITOR
0x00000001
Le contenu de la fenêtre s’affiche uniquement sur un moniteur. Partout ailleurs, la fenêtre s’affiche sans contenu.
WDA_EXCLUDEFROMCAPTURE
0x00000011
La fenêtre s’affiche uniquement sur un moniteur. Partout ailleurs, la fenêtre n’apparaît pas du tout.

Une utilisation pour cette affinité est pour les fenêtres qui affichent des contrôles d’enregistrement vidéo, de sorte que les contrôles ne sont pas inclus dans la capture.

Introduit dans Windows 10 version 2004. Consultez les remarques sur la compatibilité concernant les versions précédentes de Windows.

Valeur retournée

Type : BOOL

Si la fonction réussit, elle retourne TRUE ; sinon, elle retourne FALSE lorsque, par exemple, l’appel de fonction est effectué sur une fenêtre de niveau non supérieur. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Cette fonction et GetWindowDisplayAffinity sont conçus pour prendre en charge la fonctionnalité de protection du contenu des fenêtres qui est nouvelle dans Windows 7. Cette fonctionnalité permet aux applications de protéger leur propre contenu de fenêtre à l’écran contre la capture ou la copie via un ensemble spécifique de fonctionnalités et d’API du système d’exploitation public. Toutefois, elle fonctionne uniquement lorsque le Gestionnaire de fenêtres du bureau (DWM) compose le bureau.

Il est important de noter que contrairement à une fonctionnalité de sécurité ou à une implémentation de la gestion des droits numériques (DRM), il n’existe aucune garantie que l’utilisation de SetWindowDisplayAffinity et GetWindowDisplayAffinity, et d’autres fonctions nécessaires telles que DwmIsCompositionEnabled, protégera strictement le contenu fenêtré, par exemple lorsque quelqu’un prend une photo de l’écran.

À compter de Windows 10 version 2004, WDA_EXCLUDEFROMCAPTURE est une valeur prise en charge. La définition de l’affinité d’affichage sur WDA_EXCLUDEFROMCAPTURE sur la version précédente de Windows se comporte comme si WDA_MONITOR était appliqué.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-window-l1-1-1 (introduit dans Windows 8.1)

Voir aussi

SetWindowDisplayAffinity, Windows