WinGetPos

Retrieves the position and size of the specified window.

WinGetPos &OutX, &OutY, &OutWidth, &OutHeight, WinTitle, WinText, ExcludeTitle, ExcludeText

Parameters

&OutX, &OutY

Type: VarRef

If omitted, the corresponding value will not be stored. Otherwise, specify references to the output variables in which to store the X and Y coordinates of the target window's upper left corner.

&OutWidth, &OutHeight

Type: VarRef

If omitted, the corresponding value will not be stored. Otherwise, specify references to the output variables in which to store the width and height of the target window.

WinTitle, WinText, ExcludeTitle, ExcludeText

Type: String, Integer or Object

If each of these is blank or omitted, the Last Found Window will be used. Otherwise, specify for WinTitle a window title or other criteria to identify the target window and/or for WinText a substring from a single text element of the target window (as revealed by the included Window Spy utility).

ExcludeTitle and ExcludeText can be used to exclude one or more windows by their title or text. Their specification is similar to WinTitle and WinText, except that ExcludeTitle does not recognize any criteria other than the window title.

Window titles and text are case-sensitive. By default, hidden windows are not detected and hidden text elements are detected, unless changed with DetectHiddenWindows and DetectHiddenText. By default, a window title can contain WinTitle or ExcludeTitle anywhere inside it to be a match, unless changed with SetTitleMatchMode.

Error Handling

A TargetError is thrown if the window could not be found.

Remarks

If WinTitle is "Program Manager", the function will retrieve the size of the desktop, which is usually the same as the current screen resolution.

A minimized window will still have a position and size. The values returned in this case may vary depending on OS and configuration, but are usually -32000 for the X and Y coordinates and zero for the width and height.

To discover the name of the window and control that the mouse is currently hovering over, use MouseGetPos.

As the coordinates returned by this function include the window's title bar, menu and borders, they may be dependent on OS version and theme. To get more consistent values across different systems, consider using WinGetClientPos instead.

On systems with multiple screens which have different DPI settings, the returned position and size may be different than expected due to OS DPI scaling.

WinMove, WinGetClientPos, ControlGetPos, WinGetTitle, WinGetText, ControlGetText

Examples

Retrieves and reports the position and size of the calculator.

WinGetPos &X, &Y, &W, &H, "Calculator"
MsgBox "Calculator is at " X "," Y " and its size is " W "x" H

Retrieves and reports the position of the active window.

WinGetPos &X, &Y,,, "A"
MsgBox "The active window is at " X "," Y

If Notepad does exist, retrieve and report its position.

if WinExist("Untitled - Notepad")
{
    WinGetPos &Xpos, &Ypos ; Use the window found by WinExist.
    MsgBox "Notepad is at " Xpos "," Ypos
}