WinGetPos不会产生任何大小或位置值

时间:2016-12-15 20:34:48

标签: autohotkey

我无法在以下脚本中获得WinGetPos的尺寸或位置:

!Numpad4::
 MouseGetPos, Xm, Ym, Win
 WinGetPos, Xw, Yw, Ww, Hw, %Win%
 MsgBox "Win ID: %Win% Mouse pos: (%Xm%,%Ym%) Window pos: (%Xw%,%Yw%) size: (%Ww%x%Hw%)"
return

相反,我得到了

enter image description here

我做错了什么?

2 个答案:

答案 0 :(得分:0)

来自AutoHotkey documentation:' WinGetPos [, X, Y, Width, Height, WinTitle, WinText, ExcludeTitle, ExcludeText] ... WinTitle窗口标题或标识目标窗口的其他条件'。您的识别条件是您从HWND获得的MouseGetPos值。所以你要告诉AutoHotkey它是HWND而不是其他值。

WinGetPos变量之前调用ahk_id Win。这意味着您使用HWND值来标识您使用的窗口。

像这样:

!Numpad4::
MouseGetPos, Xm, Ym, Win
WinGetPos, Xw, Yw, Ww, Hw, ahk_id %Win%
MsgBox "Win ID: %Win% Mouse pos: (%Xm%,%Ym%) Window pos: (%Xw%,%Yw%) size (%Ww%x%Hw%)"
return

答案 1 :(得分:0)

获取由windows-id" Win 指定的窗口位置":

WinGetPos, Xw, Yw, Ww, Hw, ahk_id %Win%

您正在搜索标题为" 0x130496的窗口。"您需要关键字 ahk_id 才能通过其ID引用窗口: