Funzione SetWindowDisplayAffinity (winuser.h)

Specifica la posizione in cui è possibile visualizzare il contenuto della finestra.

Sintassi

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

Parametri

[in] hWnd

Tipo: HWND

Handle per la finestra di primo livello. La finestra deve appartenere al processo corrente.

[in] dwAffinity

Tipo: DWORD

Impostazione di affinità di visualizzazione che specifica la posizione in cui è possibile visualizzare il contenuto della finestra.

Questo parametro può avere uno dei valori seguenti.

Valore Significato
WDA_NONE
0x00000000
Non impone alcuna restrizione sulla posizione in cui è possibile visualizzare la finestra.
WDA_MONITOR
0x00000001
Il contenuto della finestra viene visualizzato solo su un monitor. Ovunque, la finestra viene visualizzata senza contenuto.
WDA_EXCLUDEFROMCAPTURE
0x00000011
La finestra viene visualizzata solo su un monitor. Ovunque, la finestra non viene visualizzata affatto.

Un uso per questa affinità è per le finestre che mostrano i controlli di registrazione video, in modo che i controlli non siano inclusi nell'acquisizione.

Introdotta in Windows 10 versione 2004. Vedere le osservazioni sulla compatibilità relative alle versioni precedenti di Windows.

Valore restituito

Tipo: BOOL

Se la funzione ha esito positivo, restituisce TRUE; in caso contrario, restituisce FALSE quando, ad esempio, la chiamata di funzione viene eseguita in una finestra non di primo livello. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Questa funzione e GetWindowDisplayAffinity sono progettate per supportare la funzionalità di protezione del contenuto della finestra nuova a Windows 7. Questa funzionalità consente alle applicazioni di proteggere il contenuto della finestra su schermo dall'acquisizione o dalla copia tramite un set specifico di funzionalità e API del sistema operativo pubblico. Tuttavia, funziona solo quando Desktop Window Manager (DWM) sta componendo il desktop.

È importante notare che, a differenza di una funzionalità di sicurezza o di un'implementazione di Digital Rights Management (DRM), non c'è garanzia che l'uso di SetWindowDisplayAffinity e GetWindowDisplayAffinity e altre funzioni necessarie, ad esempio DwmIsCompositionEnabled, proteggeranno rigorosamente il contenuto finestrato, ad esempio quando un utente prende una fotografia dello schermo.

A partire da Windows 10 versione 2004, WDA_EXCLUDEFROMCAPTURE è un valore supportato. L'impostazione dell'affinità di visualizzazione su WDA_EXCLUDEFROMCAPTURE nella versione precedente di Windows avrà un comportamento come se WDA_MONITOR fosse applicato.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-window-l1-1-1 (introdotto in Windows 8.1)

Vedi anche

SetWindowDisplayAffinity, Windows