循环执行多个WinWaitActive 出现拒绝执行
While 1WinWaitActive("重要提示", "")
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("重要提示", "") 卡住,拒绝执行下一步。
请问,如何改进。 While 1
WinWaitActive("重要提示", "")
WinKill("重要提示", "")
WinWaitActive("特别提示", "")
WinKill("特别提示", "")
WEnd
试过了,正常,可能是WinKill函数不行,你换个试试,比如msgbox,只要能循环就不是你的问题 谢谢二楼的回答,你的回答,貌似“只要能循环就不你的问题:,对我有点启发。但"不是你的问题"我也要解决这个问题。即使"不是你的问题"是指不是程序设计的问题,而是au3的问题,我也要解决它。又是我的问题了。。。。
继续研究中
[ 本帖最后由 caney 于 2008-5-31 23:57 编辑 ] 重要提示和特别提示都是同一个进程的窗口吧?你用WinKill把那个进程挂了,自然就没有特别提示了 你只是要把这两个窗口关闭吧?
那就这样就好了
While 1
if WinExists("重要提示", "") Then
WinClose("重要提示", "")
ElseIf
WinExists("特别提示", "") Then
WinClose("特别提示", "")
EndIf
WEnd you学习点带星。 推 dboys的方式...
呵呵...LZ的部份,我看了半天,總覺得少了啥判斷式!?
果然就是少了WinExists 去判讀是否存在...
他的原始寫法,跑起來自然會卡,因為一直停在 等待激活
页:
[1]