Compartir a través de


Función SetWindowDisplayAffinity (winuser.h)

Especifica dónde se puede mostrar el contenido de la ventana.

Sintaxis

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

Parámetros

[in] hWnd

Tipo: HWND

Identificador de la ventana de nivel superior. La ventana debe pertenecer al proceso actual.

[in] dwAffinity

Tipo: DWORD

La configuración de afinidad para mostrar que especifica dónde se puede mostrar el contenido de la ventana.

Este parámetro puede ser uno de los valores siguientes.

Valor Significado
WDA_NONE
0x00000000
No impone ninguna restricción sobre dónde se puede mostrar la ventana.
WDA_MONITOR
0x00000001
El contenido de la ventana solo se muestra en un monitor. En cualquier otro lugar, la ventana aparece sin contenido.
WDA_EXCLUDEFROMCAPTURE
0x00000011
La ventana solo se muestra en un monitor. En cualquier otro lugar, la ventana no aparece en absoluto.

Un uso de esta afinidad es para ventanas que muestran controles de grabación de vídeo, de modo que los controles no se incluyan en la captura.

Introducido en Windows 10 versión 2004. Consulta los comentarios sobre la compatibilidad con versiones anteriores de Windows.

Valor devuelto

Tipo: BOOL

Si la función se ejecuta correctamente, devuelve TRUE; de lo contrario, devuelve FALSE cuando, por ejemplo, la llamada de función se realiza en una ventana que no es de nivel superior. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Esta función y GetWindowDisplayAffinity están diseñadas para admitir la característica de protección de contenido de ventana que es nueva en Windows 7. Esta característica permite a las aplicaciones proteger su propio contenido de ventana en pantalla de la captura o copiación a través de un conjunto específico de características y API del sistema operativo público. Sin embargo, solo funciona cuando el Administrador de ventanas de escritorio (DWM) está redactando el escritorio.

Es importante tener en cuenta que, a diferencia de una característica de seguridad o una implementación de Digital Rights Management (DRM), no hay ninguna garantía de que el uso de SetWindowDisplayAffinity y GetWindowDisplayAffinity, y otras funciones necesarias, como DwmIsCompositionEnabled, protegerán estrictamente el contenido en ventana, por ejemplo, donde alguien toma una fotografía de la pantalla.

A partir de Windows 10 versión 2004, WDA_EXCLUDEFROMCAPTURE es un valor admitido. Si se establece la afinidad de visualización en WDA_EXCLUDEFROMCAPTURE en la versión anterior de Windows, se comportará como si se aplicara WDA_MONITOR.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-window-l1-1-1 (introducido en Windows 8.1)

Consulte también

SetWindowDisplayAffinity, Windows