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

AutoIT如何监视多个窗口出现?

  [复制链接]
发表于 2010-5-21 03:45:25 | 显示全部楼层 |阅读模式
本帖最后由 网上菜鸟 于 2010-5-22 06:00 编辑

有多个标题、正文等内容都不同的窗口不定时的弹出,想用AutoIT自动监视并关闭这些窗口。
如果有5种窗口,是不是就得写5个脚本来运行监视?
能否在1个脚本同时监视5种窗口?

虽然得到的方法不是很理想,还是先设置为已结局吧。

期待AutoIT新版本加入窗口组操作功能。

例如:
定义若干个标题和正文都不相同的窗口信息到数组中
然后winwait、winkill等窗口命令可以对数组中定义的任一窗口操作。
发表于 2010-5-21 04:01:49 | 显示全部楼层
AdlibRegister("KillWindow", 500)
......

Func KillWindow()
        If WinExists("窗口1", "文本1") Then
                WinKill("窗口1", "文本1")
        ElseIf WinExists("窗口2", "文本2") Then
                WinKill("窗口2", "文本2")
        ElseIf WinExists("窗口3", "文本3") Then
                WinKill("窗口3", "文本3")
        ElseIf WinExists("窗口4", "文本4") Then
                WinKill("窗口4", "文本4")
        ElseIf WinExists("窗口5", "文本5") Then
                WinKill("窗口5", "文本5")
        EndIf
        Return
EndFunc   ;==>KillWindow
 楼主| 发表于 2010-5-21 06:41:06 | 显示全部楼层
回复 2# sensel

   谢谢。。。

    这样做是可以,但是效率有点低,还是winwait接winkill来得高效,只是一个winwait脚本就停着等待了,不能同时多个winwait。
发表于 2010-5-23 02:20:04 | 显示全部楼层
受教,谢谢!!!!
发表于 2010-5-23 09:13:30 | 显示全部楼层
While 1
        Local $WinlistArray=WinList()
        For $i=1 To $WinlistArray[0][0] Step 1
                Switch $WinlistArray[$i][0]
                        Case "无标题 - 记事本"
                                ProcessClose("notepad.exe")
                        Case "计算器"
                                WinClose("计算器")
                EndSwitch
        Next
WEnd
给你, 这个想必就是你要的了。
 楼主| 发表于 2010-5-25 02:38:35 | 显示全部楼层
本帖最后由 网上菜鸟 于 2010-5-25 02:43 编辑

回复 5# lanfengc


    这个还不是我要的,我在AHK里找到了我要的,这里并不是说AU3不好。
AHK的代码是:
menu, tray, noicon
GroupAdd, KillGroup , 标题1,正文1。
GroupAdd, KillGroup , 标题2,正文2。
GroupAdd, KillGroup ,  标题3
GroupAdd, KillGroup , 标题4,正文4。
loop {
WinWait,ahk_group KillGroup
WinKill
}


这样只要一个winwait就可以响应KillGroup里定义的4个窗口中的任意窗口。响应速度不是前面介绍的方法所能比的。只是AHK的语法似乎不怎么严谨,我不大习惯,或者说AU3已经先入为主的在我的头脑里占据了主要的地位。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 06:53 , Processed in 0.084104 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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