Функция SetWindowDisplayAffinity (winuser.h)
Указывает, где может отображаться содержимое окна.
Синтаксис
BOOL SetWindowDisplayAffinity(
[in] HWND hWnd,
[in] DWORD dwAffinity
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор окна верхнего уровня. Окно должно принадлежать текущему процессу.
[in] dwAffinity
Тип: DWORD
Параметр сопоставления отображения, указывающий, где может отображаться содержимое окна.
Этот параметр может принимать одно из указанных ниже значений.
Возвращаемое значение
Тип: BOOL
Если функция выполняется успешно, возвращается значение TRUE; В противном случае возвращается значение FALSE , если, например, вызов функции выполняется в окне, отличном от верхнего уровня. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Эта функция и GetWindowDisplayAffinity предназначены для поддержки функции защиты содержимого окна, которая является новой в Windows 7. Эта функция позволяет приложениям защищать собственное содержимое экранного окна от захвата или копирования с помощью определенного набора общедоступных функций и API-интерфейсов операционной системы. Однако он работает, только если диспетчер окон рабочего стола (DWM) составляет рабочий стол.
Важно отметить, что в отличие от функции безопасности или реализации управления цифровыми правами (DRM), нет никакой гарантии, что использование SetWindowDisplayAffinity и GetWindowDisplayAffinity, а также других необходимых функций, таких как DwmIsCompositionEnabled, будет строго защищать содержимое окна, например когда кто-то делает фотографию экрана.
Начиная с Windows 10 версии 2004, WDA_EXCLUDEFROMCAPTURE является поддерживаемым значением. Настройка сопоставления отображения WDA_EXCLUDEFROMCAPTURE в предыдущей версии Windows будет вести себя так, как если бы применялся WDA_MONITOR.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-window-l1-1-1 (появилось в Windows 8.1) |