用VB6.0编写自我升级的程序(三) (3)
中华网科技 http://tech.china.com
2005-06-23 11:47:25
|
|
|
‘ 这里强行关闭旧程序
‘ 你也可以发送消息,让旧程序自己关闭
Do While -1
DoEvents
If CloseValidForm(NewExeFile) Then
Exit Do
End If
Loop
Sleep 200
End If
‘ 删除旧程序
On Error Resume Next
ChangeLabelPos Me, lblCap, "正在删除旧程序 ... "
Sleep 1000
Kill OldExeFile
Sleep 1000
‘ 生成新主程序名称
‘ NewExeFile = CStr(ReadIniFile(UpdateIniPath, "Main", "Name", "主程序"))
j = Right(NewExeFile, 1)
If IsNumeric(j) Then
j = i
NewExeFile = Left(NewExeFile, Len(NewExeFile) - 1)
Else
j = 1
End If
‘ 记录主程序的名字
NewExeFile = NewExeFile & j
WritePrivateProfileString "Main", "Name", NewExeFile, UpdateIniPath
NewExeFile = App.Path & "" & NewExeFile & ".exe"
‘ 拷贝新程序
ChangeLabelPos Me, lblCap, "正在更新程序 ... "
Sleep 1000
FileCopy tmpFile, NewExeFile
Sleep 1000
‘ 删除临时程序
Kill tmpFile
‘ 记录更新次数
WritePrivateProfileString "Update", "Num", CStr(i), UpdateIniPath
‘ 检查旧程序的状态
If MainState Then
ChangeLabelPos Me, lblCap, "正在启动更新后的主程序 ... "
Sleep 1000
Shell NewExeFile, vbNormalNoFocus
End If
首页 上页 | 1 | 2 | 3 | 4 | 下页 尾页 共 4 页 |