找回密码
 加入
搜索
查看: 2350|回复: 6

循环执行多个WinWaitActive 出现拒绝执行

[复制链接]
发表于 2008-5-31 22:21:44 | 显示全部楼层 |阅读模式
While 1
        WinWaitActive("重要提示", "")       
        WinKill("重要提示", "")
        WinWaitActive("特别提示", "")       
        WinKill("特别提示", "")
WEnd
经常在WinWaitActive("重要提示", "") 卡住。。。。不会执行下一步,即WinKill("重要提示", ""),激活窗口也不行。
而单独执行
While 1
        WinWaitActive("重要提示", "")       
        WinKill("重要提示", "")
WEnd

While 1
        WinWaitActive("特别提示", "")       
        WinKill("特别提示", "")
WEnd
都万试万爽。
      WinKill("重要提示", "")这句我有试过 WinSetState ( ("重要提示", "", @SW_HIDE )及ControlClick("重要提示", "确定", "Button1")还有WinClose("重要提示", "")
甚至我还:
While 1
        if WinWaitActive("重要提示", "") Then
        ControlClick("重要提示", "确定", "Button1")
    ElseIf         WinWaitActive("特别提示", "") Then
   WinKill("特别提示", "")
    EndIf
WEnd

都存在WinWaitActive("重要提示", "") 卡住,拒绝执行下一步。

请问,如何改进。
发表于 2008-5-31 23:33:37 | 显示全部楼层
While 1
        WinWaitActive("重要提示", "")        
        WinKill("重要提示", "")
        WinWaitActive("特别提示", "")        
        WinKill("特别提示", "")
WEnd
试过了,正常,可能是WinKill函数不行,你换个试试,比如msgbox,只要能循环就不是你的问题
 楼主| 发表于 2008-5-31 23:55:24 | 显示全部楼层
谢谢二楼的回答,你的回答,貌似“只要能循环就不你的问题:,对我有点启发。但"不是你的问题"我也要解决这个问题。即使"不是你的问题"是指不是程序设计的问题,而是au3的问题,我也要解决它。又是我的问题了。。。。

继续研究中

[ 本帖最后由 caney 于 2008-5-31 23:57 编辑 ]
发表于 2008-6-3 16:46:15 | 显示全部楼层
重要提示和特别提示都是同一个进程的窗口吧?你用WinKill把那个进程挂了,自然就没有特别提示了
发表于 2008-6-3 20:55:39 | 显示全部楼层
你只是要把这两个窗口关闭吧?
那就这样就好了

While 1
        if WinExists("重要提示", "") Then
        WinClose("重要提示", "")
        ElseIf
        WinExists("特别提示", "") Then
   WinClose("特别提示", "")
    EndIf
WEnd
发表于 2009-11-19 23:43:07 | 显示全部楼层
you学习点带星。
发表于 2009-11-26 02:27:46 | 显示全部楼层
推 dboys  的方式...
呵呵...LZ的部份,我看了半天,總覺得少了啥判斷式!?
果然就是少了WinExists 去判讀是否存在...

他的原始寫法,跑起來自然會卡,因為一直停在 等待激活
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 16:39 , Processed in 0.081796 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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