按键精灵9时间判断代码求解决

我想实现一个脚本,就是在每天下午13点55开始,每过30分钟,就调用子程序。我现在这样写的,貌似很占资源。单独测试看起来行,真用,就不行了。求优化。求帮助
我的代码:
Do
Rem pd
st = time
If st > "13:55:00" and st < "13:59:00" Then
Call aa()
ElseIf st > "14:25:00" and st < "14:29:00" Then
Call aa()
ElseIf st > "14:55:00" and st < "14:59:00" Then
Call aa()
ElseIf st > "15:25:00" and st < "15:29:00" Then
Call aa()
ElseIf st > "15:55:00" and st < "15:59:00" Then
Call aa()
ElseIf st > "16:25:00" and st < "16:29:00" Then
Call aa()
ElseIf st > "16:55:00" and st < "16:59:00" Then
Call aa()
ElseIf st > "17:25:00" and st < "17:59:00" Then
Call aa()
ElseIf st > "17:55:00" and st < "17:59:00" Then
Call aa()

End If

Loop
sub aa()
Rem tzrw
dm_ret = dm.FindPic(0, 0, 2000, 2000, "txtp.bmp", "000000", 0.8, 0, tzX, tzY)
If tzX >= 0 Then
dm.MoveTO tzx+225 , tzy+225
Delay 500
dm.leftClick
Delay 500
dm.leftClick
Delay 500
dm.leftClick
Delay 500
End If
End Sub

Do
    st = time
    TracePrint st
    mt = split(st, ":")
    If int(mt(0)) >= 13 and int(mt(0)) <= 17 Then 
        If int(mt(1)) > 25 and int(mt(1)) < 29 Then 
            Call aa()
            //如果子程序执行时间少于5分钟
            //延时5分钟以免重复启动子程序
            For 5 * 60
                Delay 1000
            Next
        End If
    End If
Loop

追问

那么55分钟和59分钟了?
不好意思,刚开始学习。能否麻烦你注释下你的语句。

追答Do
    st = time
    //分拆字符串保存到数组
    mt = split(st, ":")
    //判断小时部分
    If int(mt(0)) >= 13 and int(mt(0)) <= 17 Then 
        //判断分钟部分
        If (int(mt(1)) > 25 and int(mt(1)) < 29) or (int(mt(1)) > 55 and int(mt(1)) < 59) Then 
            Call aa()
            //如果子程序执行时间少于5分钟
            //延时5分钟以免重复启动子程序
            For 5 * 60
                Delay 1000
            Next
        End If
    End If
Loop

 下面是更简洁的:

小时 = int(Hour(TIME))
分钟 = int(Minute(TIME))
If 小时 >= 13 and 小时 <= 17 Then 
    If (分钟 >= 25 and 分钟 <= 29) or (分钟 >= 55 and 分钟 <= 59) Then 
        Call aa()
    End If
End If

温馨提示:内容为网友见解,仅供参考
无其他回答

按键精灵9时间判断代码求解决
Do st = time TracePrint st mt = split(st, ":") If int(mt(0)) >= 13 and int(mt(0)) <= 17 Then If int(mt(1)) > 25 and int(mt(1)) < 29 Then Call aa() \/\/如果子程序执行时间少于5分钟 \/\/延时5分钟以免重复启动子程序 For 5 * 60 ...

按键精灵9读取时间执行脚本有错误,哪位高手帮我改改
你的逻辑有错,执行第一个时间的内容后,循环判断时间那段代码已经退出,脚本不再判断时间,所以你后面两个时间段代码不会执行。还有,你中间有一个延时一分钟,有可能三个时间的代码都不会执行(当然出现的几率很小,但是会有)。

按键精灵9怎么设置脚本在运行的时候弹出一个有多个选择的对话框_百度...
回答:a= MsgBox ("你要干嘛?",vbOKCancel) MsgBox a 根据A的值 决定你干什么 确定返回值为1 取消返回值为2 下面判断IF a=1 then ElseIf a=2 end if

按键精灵如何用系统时间来判断开启
Rem 时间 FindPic 0,0,1024,768,"Attachment:\\星期.bmp",0.9,intX,intY If intX > 0 And intY > 0 Then FindPic 0,0,1024,768,"Attachment:\\时间.bmp",0.9,intX,intY If intX > 0 And intY > 0 Then Delay 35000 \/\/这跳转19:05:35启动脚本 Else Delay 0 \/\/延迟30分钟后,...

按键精灵时间判定的问题。
推荐用秒"s"来判断,比较准确。如果用分"n"来判断每到一整分就算1分钟(比如59秒启动,再过1秒后也算1分钟)例:dim t t=now \/\/赋值当前日期时间到变量t while true if datediff("s",t,now)>=900000 \/\/如果间隔时间为15分钟 delay 50 keypress 13 1 t=now \/\/重新赋值日期时间,以重新...

按键精灵9 自动判断时间13.10自动运行找到坐标点击。怎么可以做到_百度...
While True If Time=“13:10:00” Then \/\/这里写你要执行的代码 End If Delay 200 Wend

大神 帮忙看下按键精灵的时间判断代码,问题出在哪儿?
mytime > "11:00:00" and mytime < "14:00:00" 这就是错的1,用分割文本命令把小时部分分出来再判断

按键精灵怎么判断这一列大于10分钟才执行代码?新手求代码
如果是按键自带的表格,可以读取每行的文本,然后去掉时间,或者取数字部分,参考命令:返回值 = Lib.算法.提取字串符中所有数字(字符串),然后到整数就可以计算了 如果是外部表格,可以使用大漠插件来识别出每行的数字部分就可以了,然后到整数进行计算 ...

按键精灵如何获取系统时间来执行脚本?
\/\/判断命令\\x0d\\x0aIf hour(time) = 10 Then \\x0d\\x0aCall timeok\\x0d\\x0aEnd If\\x0d\\x0a\/\/10点的子程序\\x0d\\x0aSub timeok()\\x0d\\x0aMoveTo 123, 456\\x0d\\x0aLeftClick 1\\x0d\\x0aDelay 10000\\x0d\\x0aLeftClick 1\\x0d\\x0aMoveTo 456, 789\\x0d\\x0a...

求按键精灵代码 求一个按键超时判断的代码,比如为2分钟画面无变化便跳...
a=GetPixelColor(10,5)Delay 120000 b=GetPixelColor(10,5)If a=b Then MessageBox "警报"Else MessageBox "结束或继续判断"End If

相似回答