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

 我来答
在海天禅寺数钱的香菇
2017-11-10 · TA获得超过159个赞
知道答主
回答量:106
采纳率:50%
帮助的人:16.2万
展开全部

先来说一下,你想要的效果其实不是脚本每天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

稍微解释一下,

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

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

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

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

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

追问
太难了
love苑2
2017-11-02 · TA获得超过437个赞
知道小有建树答主
回答量:509
采纳率:25%
帮助的人:91.8万
展开全部
很简单,添加一个循环指令就可以了,可以设置为第一次执行后24小时后在执行
追问
具体命令呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式