手机按键精灵编写了一个脚本,想让这个脚本在每天8点自动运行。 请问哪位大神给指导一下?

如题所述

先来说一下,你想要的效果其实不是脚本每天8点自动运行,而是脚本一直是运行的,只是每天8点开始做有效的运行工作,其他时间点一直处于“待命状态”。

如果你认同我上面所说的内容,那么就继续往下看吧。

解决这个问题有两种方法:

第一种:先计算你脚本有效的运行时间,比如1个小时,那么剩下的“待命状态”的时间就是23个小时,换句话说就是你的脚本执行完一次以后,要等待23个小时,在按键精灵里等待时间的命令就是delay,不过要换算,因为它的单位毫秒,你要把23小时等于多少毫秒算出来,建议用计算器算一下。

这种方法有一个缺点,就是你必须要在8点执行首次操作,它是24小时完成一个运行周期,并不会真的在8点执行,而是每天在某一个固定的时间执行,这个时间点取决于你首次运行的开始时间。

第二种方法:

原理是获取当前系统时间,然后判断获取的时间是不是8点,如果是8点就开始执行有效脚本,如果不是8点,那么重新获取系统时间,再次判断,这个过程重复进行,直到8点为止。

缺点是脚本比较累一直在做判断,优点是能够精准判断。

代码如下:

Do

Dim t

t = Now()

TracePrint t

Dim r

r = UTF8.Right(t, 13)

TracePrint r

Dim l

l = UTF8.Left(r, 5)

TracePrint l

If l = "08:00" Then 

TracePrint "调试成功,用你的脚本替换本行"

Exit Do

Elseif l = "08:01" Then 

TracePrint "调试成功,用你的脚本替换本行"

Exit Do

Else

TracePrint "调试失败"

End If

Delay 60000

Loop

稍微解释一下,

    为了看着方便,变量我没有合并,

    由于7个“星期”的英文所写长度不一样,所以导致日期的长度也是不一样的,那么在获取8点的方法上,我选择了从后往前找的办法。

    在判断的时候为了防止脚本由于卡顿错过了8点而无法有效运行,所以追加了一个判断,就是在8点01分也是可以执行脚本。当然这是在8点没有开始脚本,如果开始了,就不会在继续判断8点01分了。

    如果有啥问题可以追问,或者关注我的公众号:3分钟学堂。

这个代码我在自己电脑上做了测试,附上一个我运行的截图:

追问

太难了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-02
很简单,添加一个循环指令就可以了,可以设置为第一次执行后24小时后在执行追问

具体命令呢。

相似回答