按键精灵是一个伟大的软件,我可以以通过它,制作出各种各样的脚本,实现各种各样强大的功能,至于自动更新,当然也不在话下!
这里,我将给大家抛砖引玉,讲解自动更新功能的实现。我的这个方法不需要FTP,可以做到完全的免费!
【特别说明】
按键精灵官方强烈反对作者将免费小精灵加入购买机制,对用户进行各方面的收费。需要请选用 商业小精灵或者简单游平台
而加入自动更新功能,按键精灵官方是不反对的,大家可以放心使用,不用担心任何侵权问题
【方法简述】
1、先找一个网页作为更新界面,可以是博客,也可以是帖子,支持随时更改其内容。每更新了一次版本,就在这个页面中修改版本号,以及更新包的下载地址
2、小精灵在每一次运行时,会自动访问一次该网页,并获取其源代码,得到当前的最新版本,并判断是否进行升级
【具体的实现步骤】
我写了很多的免费脚本,比如“多玩天下3工具箱”,就是使用这个方法进行更新。下面是我的实现步骤,大家可以参考,并且按自己的需求自由修改
首先按照上面“方法简述”中的步骤1,我们需要一个页面作为更新源,我的更新源是论坛上面的一个帖子,地址:http://bbs.duowan.com/forum.php?mod=viewthread&tid=30343040&fromuid=32278102
大家可以打开来看一下,注意的是我的帖子标题:
上面的“2.8.1”就是版本号,我每更新一次,就会修改一下这个值,当用户手中的小精灵判断到这个值变化了,就会弹出升级提示!
【按键精灵代码的写法】
使用这个方法自动更新,最精辟的自然还是在于脚本的写法,关于获取目标网页的源代码,可以调用Windows自带的对象Microsoft.XMLHTTP。对代码中自己所需要的部分进行提取,可以使用VB自带的函数split
下面是我的整段代码:
Event Form1.Load Call Plugin.Msg.Tips("正在检查更新...") nowver = "2.8.1" '本地保存的版本信息 nowtime = "13-7-29" '获取网页源代码 Set xmlHttp = CreateObject("Microsoft.XMLHTTP") xmlHttp.Open "Get", "http://bbs.duowan.com/forum.php?mod=viewthread&tid=30343040&fromuid=32278102", False xmlHttp.Send '提取源代码中两个 title> 之间的片段(提取网页标题) Dim suzu suzu = split(XmlHttp.ResponseText, "title>", 3) Set xmlHttp = nothing If UBound(suzu) < 1 Then Call Plugin.Msg.Tips("获取更新信息失败") Else '标题中是否存在当前的版本文字 If instr(suzu(1), nowver) = 0 Then usrret = MsgBox("工具箱已推出新版本,是否更新?", vbYesNo, "当前版本:"&nowver&"("&nowtime&")") If usrret = vbYes Then '打开网页 RunApp "http://bbs.duowan.com/forum.php?mod=viewthread&tid=30343040&fromuid=32278102" End If Else Call Plugin.Msg.Tips("你使用的已是最新版:" & nowtime & "(" & nowver & ")") End If End If End Event
添加在事件Event Form1.Load中,就可以让这段代码在小精灵运行时自动执行
【其他相关】
这里给大家介绍了自动更新的整体思路,只是抛砖引玉,所以就不再详细的写了,如果有什么疑问可以在下面的留言板中向我提出
如果需要在检查到更新后自动跳转至更新下载界面,可以在你的网页中将下载链接写成:
!@#$%http://www.xxx.com/up.zip!@#$%
然后在小精灵中使用split函数获取两个!@#$%之间的内容,并用runapp打开获取到的:http://www.xxx.com/up.zip
【关于split的用法】http://zy.anjian.com/?action-model-name-qmdn-itemid-345
这是按键精灵官方的教程,如果不清楚split,请务必读下这个
#按键精灵免费实现自动更新功能# – 按键精灵是一个伟大的软件,我可以以通过它,制作出各种各样的脚本,实现各种各样强大的功能,至于自动更新,当然也不在话下! 这里,我将给大家抛砖引玉,讲解自动更新功能的实现。我… http://t.cn/z8aibVX
天遂 初始化不成功怎么办啊?