按键精灵手机版增加更新检测功能

按键精灵 季若尘 3年前 (2019-04-13) 844次浏览 已收录 1个评论 扫描二维码
文章目录[隐藏]

前言

按键精灵如果没有检测更新功能,当脚本有改动就无法及时通知到用户,所以这篇文章就介绍一下如何为脚本增加检测更新功能

介绍

增加检测更新功能需要一个稳定的网页来放置更新信息,这个网页所在的网站并不一定非要是你的,如果能保证贴吧帖子不被删,在贴吧开个帖子也能用

当然如果自己有一个网站当然是最好的,我这里就直接在本站开了一个页面,专门用来放置更新信息https://www.wmjrc.com/quickmacro_update.html

按键精灵手机版增加更新检测功能

下面是检测更新部分的代码

Import "ShanHai.lua"
Dim x,vnew,vnow,code,ScreenX,ScreenY
ScreenX = GetScreenX()
ScreenY = GetScreenY()

vnow = 1.09
code = URL.Get("https://www.wmjrc.com/quickmacro_update.html")

x = InStr(1,code,"最新版本号:")
x = x + 18
vnew = Mid(code, x, 6)

If CSng(vnew) > vnow Then 
	ShowMessage "有新版本,请前往下载", 3000, ((ScreenX / 2) - 200), (ScreenY / 2)
	Delay 2000
	ShanHai.openweb("www.wmjrc.com/quickmacro_update.html")  
Else 
	ShowMessage "当前已是最新版本", 3000, ((ScreenX / 2) - 200), (ScreenY / 2)
	Delay 2000
End If

然后是包含注释的代码截图

按键精灵手机版增加更新检测功能

代码原理就是在一个网页上放置更新信息,然后获取网页源码,再通过字符串搜索找出最新版本号,所以说在贴吧发帖放置更新信息也是可行的

这段代码还是挺简单的,最关键最容易出错的地方就是从网页获取最新版本并比较当前版本,需要算好字符串的长度,否则后面转换为浮点数时会出现返回 null 的情况

考虑更新日志放到网页上更方便,所以这段代码没有做成直接下载文件的形式,而是访问网页,然后由用户点击下载,当然你也可以改成直接下载


4 月 14 日更新

发现上面代码没有考虑到更新网页故障的情况,当网页打不开时最新版本返回为空,这样再去和当前版本比较就会报错

所以我们还需要增加一个判断语句,判断最新版本返回值是否为空,然后再去比较

IF 语句修改如下

vnew = Csng(vnew)
If vnew = null Then 
	ShowMessage "当前已是最新版本", 3000, ((ScreenX / 2) - 200), (ScreenY / 2)
	Delay 2000
	
ElseIf vnew > vnow  Then
	ShowMessage "有新版本,正在前往下载", 3000, ((ScreenX / 2) - 200), (ScreenY / 2)
	Delay 2000
	ShanHai.openweb("www.wmjrc.com/quickmacro_update.html")
Else 
	ShowMessage "当前已是最新版本", 3000, ((ScreenX / 2) - 200), (ScreenY / 2)
	Delay 2000
End If

版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:按键精灵手机版增加更新检测功能
喜欢 (5)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 测试
     2019-04-13 20:31 回复