2 out of 2 rated this helpful - Rate this topic

GetLayeredWindowAttributes function

Applies to: desktop apps only

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

Syntax

BOOL WINAPI GetLayeredWindowAttributes(
  __in       HWND hwnd,
  __out_opt  COLORREF *pcrKey,
  __out_opt  BYTE *pbAlpha,
  __out_opt  DWORD *pdwFlags
);

Parameters

hwnd [in]

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.

pcrKey [out, optional]

Type: COLORREF*

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.

pbAlpha [out, optional]

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.

pdwFlags [out, optional]

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.

ValueMeaning
LWA_ALPHA
0x00000002

Use pbAlpha to determine the opacity of the layered window.

LWA_COLORKEY
0x00000001

Use pcrKey as the transparency color.

 

Return value

Type:

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.

Remarks

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.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

Winuser.h (include Windows.h)

Library

User32.lib

DLL

User32.dll

See also

Reference
CreateWindowEx
SetLayeredWindowAttributes
SetWindowLong
Conceptual
Windows
Using Windows

 

 

Send comments about this topic to Microsoft

Build date: 2/3/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
C# syntax
[DllImport("user32.dll")]
public static extern bool GetLayeredWindowAttributes(IntPtr hwnd, IntPtr pcrKey, IntPtr pbAlpha, IntPtr pdwFlags);
vb.net syntax
<DllImport("user32.dll")> _
Public Shared Function GetLayeredWindowAttributes(ByVal hwnd As IntPtr, ByVal pcrKey As IntPtr, ByVal pbAlpha As IntPtr, ByVal pdwFlags As IntPtr) As Boolean
End Function