WinGetPos

AutoHotkey

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, Width, Height, Calculator
MsgBox, Calculator is at %X%`,%Y%

WinGetPos, X, Y, , , A  ; "A" 表示获取活动窗口的位置.
MsgBox, The active window is at %X%`,%Y%

IfWinExist, Untitled - Notepad
{
    WinGetPos, Xpos, Ypos  ; 使用前面找到的窗口.
    MsgBox, Notepad is at %Xpos%`,%Ypos%
}