VB远程自动更新代码

'需要:Microsoft Internet Transfer Control 6.0控件
'原理:在网站上建立一个updata.txt文件,里面保存升级信息
'updata.txt文件格式:
'文件内容:
'共三行,第一行:版本号;第二行:更新文件名;第三行: 文件长度

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_SHOWNORMAL = 1
Public Const SW_MINIMIZE = 6


Public Sub UpData() '在线升级
On Error GoTo 100
Dim MyData() As Byte, VerInfo() As Byte, Ti As Long, Tj As Long

If Inet1.StillExecuting = True Then Exit Sub
VerInfo() = Inet1.OpenURL("http://update.soft.cncco.com/updata.txt", icString)
Ti = InStr(1, VerInfo, vbCrLf) + 2
Tj = InStr(Ti, VerInfo, vbCrLf)

'检测版本号
If Val(Left$(VerInfo, Ti - 3)) <= Val(App.Major & "." & App.Minor & App.Revision) Then Exit Sub
If MsgBox("SWpsF 发布了新的版本:" + Left$(VerInfo, Ti - 3) + ",文件大小:" + Mid$(VerInfo, Tj + 2) + ",是否进行在线升级 ?", vbYesNo + vbQuestion, "在线升级") = vbNo Then Exit Sub
IsUp = True

'开始下载更新文件
MyData() = Inet1.OpenURL("http://update.soft.cncco.com/" + Mid$(VerInfo, Ti, Tj - Ti), icByteArray)
Open App.Path + "/" + Mid$(VerInfo, Ti, Tj - Ti) For Binary Access Write As #1
Put #1, , MyData()
Close #1
IsUp = False
'执行更新文件
ShellExecute 0, vbNullString, App.Path + "/" + Mid$(VerInfo, Ti, Tj - Ti), vbNullString, App.Path, SW_SHOWNORMAL
End
End Sub

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值