WinGetPos

首页  后退  前进

WinGetPos
down2

WinGetPos

获取窗口的坐标位置和大小.

 

WinGetPos ( "title" [, "text"] )

参数

title

目标窗口标题, 或句柄, 或类名. 参考 窗口标题与文本.

text

[可选] 目标窗口文本. 默认值为空字符串. 参考 窗口标题与文本.

返回值

成功:

返回下列信息的 4 元素数组:

   $aArray[0] = X 坐标

   $aArray[1] = Y 坐标

   $aArray[2] = 宽度

   $aArray[3] = 高度

失败:

设置 @error 设置为 1, 未找到目标窗口.

备注

若目标窗口被最小化, 则 WinGetPos 返回值将是负数, 比如 -32000,

但对(非最小化的)隐藏窗口则可正常工作.

若窗口标题是"Program Manager(程序管理器)", 则返回桌面的大小.

若同时有多个窗口符合匹配条件, 则使用最近激活的窗口.

 

函数示例

#include <MsgBoxConstants.au3>
Example()
Func Example()
    ; Retrieve the position as well as height and width of the active window.
    Local $aPos = WinGetPos("[ACTIVE]")
    ; Display the array values returned by WinGetPos.
    MsgBox($MB_SYSTEMMODAL, "", "X-Pos: " & $aPos[0] & @CRLF & _
            "Y-Pos: " & $aPos[1] & @CRLF & _
            "Width: " & $aPos[2] & @CRLF & _
            "Height: " & $aPos[3])
EndFunc   ;==>Example

----------------------------------------

参见:

WinMove, WinGetClientSize, WinGetState

例子
copy

exect=$var_apos=WinGetPos('[CLASS:TTOTAL_CMD]')||_ViewValues($var_apos) ;;获取Total Commander窗口的客户区域的宽度和高度的数组

 

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||$var_a=WinGetPos(Eval('var_h'))||WinMove(Eval('var_h'),'''',10,10,200,300,20)||Sleep(3000)||WinMove(Eval('var_h'),'''',$var_a[0],$var_a[1],$var_a[2],$var_a[3],20) ;; 要移动Total Commander窗口,在3秒钟内返回窗口

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru