GetLayeredWindowAttributes function (winuser.h)

Retrieves the opacity and transparency color key of a layered window.


BOOL GetLayeredWindowAttributes(
  [in]            HWND     hwnd,
  [out, optional] COLORREF *pcrKey,
  [out, optional] BYTE     *pbAlpha,
  [out, optional] DWORD    *pdwFlags


[in] hwnd

Type: HWND

A handle to the layered window. A layered window is created by specifying WS_EX_LAYERED when creating the window with the CreateWindowEx function or by setting WS_EX_LAYERED using SetWindowLong after the window has been created.

[out, optional] pcrKey


A pointer to a COLORREF value that receives the transparency color key to be used when composing the layered window. All pixels painted by the window in this color will be transparent. This can be NULL if the argument is not needed.

[out, optional] pbAlpha

Type: BYTE*

The Alpha value used to describe the opacity of the layered window. Similar to the SourceConstantAlpha member of the BLENDFUNCTION structure. When the variable referred to by pbAlpha is 0, the window is completely transparent. When the variable referred to by pbAlpha is 255, the window is opaque. This can be NULL if the argument is not needed.

[out, optional] pdwFlags

Type: DWORD*

A layering flag. This parameter can be NULL if the value is not needed. The layering flag can be one or more of the following values.

Value Meaning
Use pbAlpha to determine the opacity of the layered window.
Use pcrKey as the transparency color.

Return value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


GetLayeredWindowAttributes can be called only if the application has previously called SetLayeredWindowAttributes on the window. The function will fail if the layered window was setup with UpdateLayeredWindow.

For more information, see Using Layered Windows.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-window-l1-1-1 (introduced in Windows 8.1)

See also






Using Windows