This function retrieves information about the specified window. GetWindowLong also retrieves the 32-bit (long) value at the specified offset into the extra window memory of a window.

A remote application interface (RAPI) version of this function exists, and it is called CeGetWindowLong.

LONG GetWindowLong( 
HWND hWnd, 
int nIndex); 


  • hWnd
    Handle to the window and, indirectly, the class to which the window belongs.

  • nIndex
    Specifies the zero-based offset to the value to be retrieved. Valid values are in the range zero through the number of bytes of extra window memory, minus four; for example, if you specified 12 or more bytes of extra memory, a value of 8 would be an index to the third 32-bit integer. To retrieve any other value, specify one of the following values:

    Value Description
    GWL_EXSTYLE Retrieves the extended window styles.
    GWL_STYLE Retrieves the window styles.
    GWL_WNDPROC Retrieves the address of the window procedure, or a handle representing the address of the window procedure. You must use the CallWindowProc function to call the window procedure.
    GWL_ID Not supported.
    GWL_USERDATA Gets the 32-bit value associated with the window. Each window has a corresponding 32-bit value intended for use by the application that created the window. Windows CE versions 2.0 and later support this value, but Windows CE versions 1.0 and 1.01 do not.

    The following values are also available when the hWnd parameter identifies a dialog box:

    Value Description
    DWL_MSGRESULT Retrieves the return value of a message processed in the dialog box procedure.
    DWL_USER Retrieves extra information private to the application, such as handles or pointers.

Return Values

The requested 32-bit value indicates success. Zero indicates failure. To get extended error information, call GetLastError.


The nIndex parameter must be a multiple of 4 bytes.

Unaligned access is not supported.

Windows CE versions 1.0 and 1.01 also do not support the DWL_DLGPROC value in the nIndex parameter.


Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Winuser.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

CallWindowProc, CeGetWindowLong, GetLastError, RegisterClass, SetParent, SetWindowLong, WNDCLASS

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.