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是支援的值。 將顯示親和性設定為舊版 Windows 上WDA_EXCLUDEFROMCAPTURE的行為會如同套用WDA_MONITOR一樣。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-window-l1-1-1 (於 Windows 8.1) |