MonitorFromWindow function (winuser.h)

The MonitorFromWindow function retrieves a handle to the display monitor that has the largest area of intersection with the bounding rectangle of a specified window.

Syntax

HMONITOR MonitorFromWindow(
  [in] HWND  hwnd,
  [in] DWORD dwFlags
);

Parameters

[in] hwnd

A handle to the window of interest.

[in] dwFlags

Determines the function's return value if the window does not intersect any display monitor.

This parameter can be one of the following values.

Value Meaning
MONITOR_DEFAULTTONEAREST
Returns a handle to the display monitor that is nearest to the window.
MONITOR_DEFAULTTONULL
Returns NULL.
MONITOR_DEFAULTTOPRIMARY
Returns a handle to the primary display monitor.

Return value

If the window intersects one or more display monitor rectangles, the return value is an HMONITOR handle to the display monitor that has the largest area of intersection with the window.

If the window does not intersect a display monitor, the return value depends on the value of dwFlags.

Remarks

If the window is currently minimized, MonitorFromWindow uses the rectangle of the window before it was minimized.

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-sysparams-ext-l1-1-1 (introduced in Windows 10, version 10.0.14393)

See also

MonitorFromPoint

MonitorFromRect

Multiple Display Monitors Functions

Multiple Display Monitors Overview