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

[AU3基础] 我想让这个脚本运行30次,加While后脚本不会运行了,已解决

  [复制链接]
发表于 2010-5-12 17:04:35 | 显示全部楼层 |阅读模式
本帖最后由 uo8889 于 2010-5-12 18:11 编辑
Dim $processList, $var
$processList = ProcessList()
$var=0
For $a = 1 To $processList[0][0]        
        While 1
                if StringLen($processList[$a][0]) = 6 Then
                ProcessClose($processList[$a][0])
        Sleep(1000)
        $var=+1
        if $var  = 30 then exitloop        
EndIf
WEnd        
Next
大家帮忙看看是怎么回事啊
加了WHILE后脚本运行后就没反应了

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-5-12 17:13:21 | 显示全部楼层
已知次数就用 For 好了(用While还得计数),且这个For要放到最外面
发表于 2010-5-12 17:19:30 | 显示全部楼层
本帖最后由 afan 于 2010-5-12 17:21 编辑
For $i = 1 To 30
        $processList = ProcessList()
        For $a = 1 To $processList[0][0]
                If StringLen($processList[$a][0]) = 6 Then Msgbox(0, 0, 'ProcessClose($processList[$a][0])')
        Next
        Sleep(1000)
Next
发表于 2010-5-12 17:20:25 | 显示全部楼层
运算符写错了 $var += 1
Dim $processList, $var
$processList = ProcessList()
For $a = 1 To $processList[0][0]
        If StringLen($processList[$a][0]) = 6 Then
                ProcessClose($processList[$a][0])
                MsgBox(0, '', $var)
                $var += 1
                If $var = 30 Then ExitLoop
        EndIf
Next

评分

参与人数 1威望 +1 收起 理由
afan + 1

查看全部评分

发表于 2010-5-12 17:34:14 | 显示全部楼层
回复 4# 水木子


    估计LZ本身的循环目的就有错误,ProcessList() 放在循环外面,那30次有什么意义……
发表于 2010-5-12 17:46:19 | 显示全部楼层
回复 5# afan
嗯!前辈说得对,我只注意到LZ的运算符和逻辑有点问题。
 楼主| 发表于 2010-5-12 18:13:32 | 显示全部楼层
感谢AFAN前辈和水木子前非 根据AFAN前辈的方法已经成功解决了,
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-19 02:14 , Processed in 0.107099 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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