找回密码
 加入
搜索
查看: 1668|回复: 5

[AU3基础] 如何检测 父子窗口的 子窗 状态是 隐藏 还是显示呢??[已解決]

  [复制链接]
发表于 2016-5-7 22:55:08 | 显示全部楼层 |阅读模式
本帖最后由 kk_lee69 于 2016-5-8 00:10 编辑

如何检测 父子窗口的 子窗 状态是 隐藏 还是显示呢??

如 下面程序代码

使用WinGetState 无法检测出  子窗的状态

求解!!

#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <ListviewConstants.au3>
#Include <Constants.au3>
#include <WindowsConstants.au3>
#Include <WinAPIEx.au3>

$main_GUI = GUICreate("Tab Sample", 400, 320, -1, -1,$WS_MAXIMIZEBOX+ $WS_MINIMIZEBOX+ $WS_SIZEBOX);, BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPSIBLINGS))
$button1 = GUICtrlCreateButton("显示", 10, 270, 70, 20)
$button2 = GUICtrlCreateButton("隐藏", 100, 270, 70, 20)
$button3 = GUICtrlCreateButton("检测", 220, 270, 70, 20)

GUISetState()

$child1= GUICreate("child1",  370, 215, 15, 40, BitOr($WS_CHILD,$WS_TABSTOP), -1, $main_GUI)
GUISetBkColor(0x257788); just for dimensing the child
GUISetState()

While 1
    
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $button1
                        GUISetState(@SW_SHOW, $child1)
                        
        Case $button2
                        GUISetState(@SW_HIDE, $child1)
                        
        Case $button3
                        MsgBox(0,"",BitAND(WinGetState("child1"),2))
                        
    EndSwitch


WEnd
发表于 2016-5-7 23:50:46 | 显示全部楼层
第31行的 "child1" 改为 $child1
 楼主| 发表于 2016-5-8 00:09:16 | 显示全部楼层
回复 2# afan

WinGetState ( "標題" [, "文本"] )

沒說 可以用 ID 或者 HAND 呀

原來還可以這樣用
发表于 2016-5-8 00:12:05 | 显示全部楼层
回复 3# kk_lee69


    所有内置函数 Win*('标题')  均可使用句柄,   Contro*('标题') 同样可使用句柄……
发表于 2016-5-8 11:05:56 | 显示全部楼层
回复 4# afan


    好的分析总结,受教
发表于 2016-5-9 14:41:07 | 显示全部楼层
是的,原来用 Win* 系列函数的时候,还以为只能根据标题名字或窗口内容操作呢。后来看别人代码才知道可以直接使用句柄。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 03:31 , Processed in 0.094650 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表