Função SetWindowDisplayAffinity (winuser.h)

Especifica onde o conteúdo da janela pode ser exibido.

Sintaxe

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

Parâmetros

[in] hWnd

Digite: HWND

Um identificador para a janela de nível superior. A janela deve pertencer ao processo atual.

[in] dwAffinity

Tipo: DWORD

A configuração de afinidade de exibição que especifica onde o conteúdo da janela pode ser exibido.

Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
WDA_NONE
0x00000000
Não impõe restrições sobre onde a janela pode ser exibida.
WDA_MONITOR
0x00000001
O conteúdo da janela é exibido somente em um monitor. Em qualquer outro lugar, a janela é exibida sem conteúdo.
WDA_EXCLUDEFROMCAPTURE
0x00000011
A janela é exibida somente em um monitor. Em qualquer outro lugar, a janela não aparece.

Um uso para essa afinidade é para janelas que mostram controles de gravação de vídeo, para que os controles não sejam incluídos na captura.

Introduzido no Windows 10 versão 2004. Confira comentários sobre compatibilidade em relação às versões anteriores do Windows.

Retornar valor

Tipo: BOOL

Se a função for bem-sucedida, ela retornará TRUE; caso contrário, retornará FALSE quando, por exemplo, a chamada de função for feita em uma janela de nível não superior. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Essa função e GetWindowDisplayAffinity foram projetadas para dar suporte ao recurso de proteção de conteúdo de janela que é novo no Windows 7. Esse recurso permite que os aplicativos protejam seu próprio conteúdo de janela na tela de serem capturados ou copiados por meio de um conjunto específico de APIs e recursos do sistema operacional público. No entanto, ele funciona somente quando o DWM (Gerenciador de Janelas da Área de Trabalho) está redigindo a área de trabalho.

É importante observar que, ao contrário de um recurso de segurança ou de uma implementação do DRM (Digital Rights Management), não há garantia de que usar SetWindowDisplayAffinity e GetWindowDisplayAffinity e outras funções necessárias, como DwmIsCompositionEnabled, protegerá estritamente o conteúdo em janelas, por exemplo, onde alguém tira uma fotografia da tela.

A partir Windows 10 versão 2004, WDA_EXCLUDEFROMCAPTURE é um valor com suporte. Definir a afinidade de exibição como WDA_EXCLUDEFROMCAPTURE na versão anterior do Windows se comportará como se WDA_MONITOR fosse aplicado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-window-l1-1-1 (introduzido em Windows 8.1)

Confira também

SetWindowDisplayAffinity, Windows