# WinGetPos

获取指定窗口的位置和大小.

    WinGetPos , X, Y, Width, Height, WinTitle, WinText, ExcludeTitle, ExcludeText

## 参数

X, Y

  用来保存目标窗口左上角的 X 和 Y 坐标的变量名. 如果省略, 则丢弃相应的数据.

Width, Height

  用来保存目标窗口宽度和高度的变量名. 如果省略, 则丢弃相应的数据.

WinTitle

  窗口标题或识别目标窗口的其他条件. 请参阅 WinTitle.

WinText

  如果使用此参数, 那么它必须是目标窗口中单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 当 DetectHiddenText 的设置为 ON 时, 那么会检测到隐藏文本元素.

ExcludeTitle

  标题中含有此参数值的窗口将被排除.

ExcludeText

  文本中含有此参数值的窗口将被排除.

## 备注

如果没有找到匹配窗口, 则输出变量会被置空.

如果在 WinTitle 中使用 "Program Manager", 那么此命令会获取桌面的大小, 这通常与当前的屏幕分辨率相同.

最小化的窗口同样含有位置和大小. 此时返回的值可能因操作系统和配置而变化.

要获取鼠标当前悬停的窗口和控件的名称, 请使用 MouseGetPos.

窗口标题和文本是区分大小写的. 只有在打开 DetectHiddenWindows 设置时, 才能检测到隐藏窗口.

## 相关

WinMove, ControlGetPos, WinGetActiveStats, WinGetActiveTitle, WinGetTitle, WinGetText, ControlGetText

## 示例

获取并报告计算器窗口的位置和大小.

    WinGetPos, X, Y, W, H, Calculator
    MsgBox, Calculator is at %X%`,%Y% and its size is %W%x%H%

获取并报告活动窗口的位置.

    WinGetPos, X, Y,,, A
    MsgBox, The active window is at %X%`,%Y%

如果记事本存在, 检索并报告其位置.

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

dftg