在线升级。高手帮帮忙

zixing 2010-01-10 02:45:22
Public Sub UpData() '在线升级
On Error Resume Next
Dim MyData() As Byte, VerInfo() As Byte, Ti As Long, Tj As Long

If Inet1.StillExecuting = True Then Exit Sub
VerInfo() = Inet1.OpenURL("http://www.xxx.com/uploadsoft/update.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://www.xxx.com/uploadsoft/" + 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
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
在执行了put #1,,mydata() 以后,写出的文件是一个4K大小的文件,文件名是一样的,不是我想要下来的文件,请高手帮看下有什么问题,还有啊,后面这个SHELLEXECUTE可以在本程序执行的时候强制关闭掉本身而运行那个程序吗?
...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zixing 2010-01-16
  • 打赏
  • 举报
回复
测试是成功的.改成*100就vok了
magicsun1 2010-01-14
  • 打赏
  • 举报
回复
我在比较关注呢。
zixing 2010-01-13
  • 打赏
  • 举报
回复
那多谢哈。我今天测试一下。。。你们觉得简单,对我来说看那一大片真是头大的很呢
efengxu 2010-01-13
  • 打赏
  • 举报
回复
刚试了下老马的,ftp可以下载,我试的我服务器上文件下载,下载进度条30%提示完成,确实是完成了,%比好像有点问题
efengxu 2010-01-13
  • 打赏
  • 举报
回复
老马,你这个不支持ftp下载吧?
嗷嗷叫的老马 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 efengxu 的回复:]
刚试了下老马的,ftp可以下载,我试的我服务器上文件下载,下载进度条30%提示完成,确实是完成了,%比好像有点问题
[/Quote]
也许计算有些误差......你改改吧,汗....我小学开始数学就不好来着-_-b
嗷嗷叫的老马 2010-01-12
  • 打赏
  • 举报
回复
......导出的接口中,一共就两个相关的公共方法,与一个事件,这样还复杂啊???
zixing 2010-01-12
  • 打赏
  • 举报
回复
这个好复杂啊,怎么用到我的程序里面去呀?
是你写的吗?
我以前看见过文章,说urldownload 这个函数会被杀毒软件阻止。是不是这样?
zixing 2010-01-11
  • 打赏
  • 举报
回复
有没有现成的HTTP下载的代码给个看看?多谢
嗷嗷叫的老马 2010-01-11
  • 打赏
  • 举报
回复
嗷嗷叫的老马 2010-01-10
  • 打赏
  • 举报
回复
建议你直接将升级模块做成另一个EXE,主程序检测到了更新版后启动升级EXE,让它在后台下载.

下载完成后再通知用户,是否关闭主程序以进行更新.

这样的话编码难度小,结构也清晰了.

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧