WinGetPos不能获取最小化窗口的坐标[已解决]
本帖最后由 heroxianf 于 2017-2-5 14:07 编辑窗口没有最小化即便没有在最前面可以获取,最小化后就不能获取了~是不是窗口最小化都不能获取坐标?
图片是窗口最小化时的获取值
Local $aPos = WinGetPos($Name)
If $aPos <> "-32000" And $aPos <> "-32000" Then
IniWrite($Config, "Setup", "left", $aPos)
IniWrite($Config, "Setup", "top", $aPos)
EndIf
我只有这样来获取窗体的坐标并记录,主要是怕还有其他值没有判断全。
试了一段时间没有出错。{:face (197):} 可以考虑在取坐标前,先隐藏窗口,完成后再取消隐藏. 本帖最后由 heroxianf 于 2017-1-25 12:39 编辑
回复 2# Alam
激活窗口哇? 我那样操作始终有2秒的延迟
;~ If WinExists($Name) Then ; 激活窗口
;~ WinActivate($Name)
;~ EndIf 若目标窗口被最小化, 则 WinGetPos 返回值将是负数, 比如 -32000,
但对(非最小化的)隐藏窗口则可正常工作.
若窗口标题是"Program Manager(程序管理器)", 则返回桌面的大小.
若同时有多个窗口符合匹配条件, 则使用最近激活的窗口. 回复 4# 1361739590
那就按照 -32000 这个值做个判断,使用一段时间看看会不会出错~{:face (396):}
页:
[1]