GetWindowRect function (winuser.h)
Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.
Syntax
BOOL GetWindowRect(
[in] HWND hWnd,
[out] LPRECT lpRect
);
Parameters
[in] hWnd
Type: HWND
A handle to the window.
[out] lpRect
Type: LPRECT
A pointer to a RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window.
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.
Remarks
In conformance with conventions for the RECT structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (right, bottom) lies immediately outside the rectangle.
GetWindowRect is virtualized for DPI.
In Windows Vista and later, the Window Rect now includes the area occupied by the drop shadow.
Calling GetWindowRect will have different behavior depending on whether the window has ever been shown or not. If the window has not been shown before, GetWindowRect will not include the area of the drop shadow.
To get the window bounds excluding the drop shadow, use DwmGetWindowAttribute, specifying DWMWA_EXTENDED_FRAME_BOUNDS. Note that unlike the Window Rect, the DWM Extended Frame Bounds are not adjusted for DPI. Getting the extended frame bounds can only be done after the window has been shown at least once.
Examples
For an example, see Initializing a Dialog Box.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [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-0 (introduced in Windows 8) |
See also
Conceptual
Reference