用VB6.0编写自我升级的程序(二)

来源:互联网 发布:笑笑淘宝店倒闭 编辑:程序博客网 时间:2024/06/14 16:06
  二、 projNewMain.vbp工程:
  
  说明:这个是新的主程序,即升级后的主程序,由于我目前没有服务器,故将该程序放在projUpdate.vbp工程的资源文件中。在projUpdate.vbp中模拟网络升级。
  
  用记事本打开frmNewMain.frm文件,copy以下内容到其中:
  
  VERSION 5.00
  
  Begin VB.Form frmNewMain
  
  Appearance = 0 ‘Flat
  
  BackColor = &H80000005&
  
  Caption = "Form1"
  
  ClientHeight = 1365
  
  ClientLeft = 60
  
  ClientTop = 345
  
  ClientWidth = 4680
  
  LinkTopic = "Form1"
  
  ScaleHeight = 1365
  
  ScaleWidth = 4680
  
  StartUpPosition = 3 ‘窗口缺省
  
  Begin VB.CommandButton Command1
  
  Caption = "升级"
  
  Height = 525
  
  Left = 1410
  
  TabIndex = 0
  
  Top = 660
  
  Width = 1245
  
  End
  
  Begin VB.Label lblCap
  
  Caption = "告诉你,我已经升级了,没看出和以前不一样了吗?"
  
  Height = 255
  
  Left = 120
  
  TabIndex = 1
  
  Top = 60
  
  Width = 4275
  
  End
  
  End
  
  Attribute VB_Name = "frmNewMain"
  
  Attribute VB_GlobalNameSpace = False
  
  Attribute VB_Creatable = False
  
  Attribute VB_PredeclaredId = True
  
  Attribute VB_Exposed = False
  
  Option Explicit
  
  
  
  ‘ ------------------------------------------
  
  ‘ 升级程序的例子
  
  ‘ 作者: 谢家峰
  
  ‘ 日期: 2003/12/19
  
  ‘
  
  ‘ 这里是升级后的主程序
  
  ‘
  
  ‘ ------------------------------------------
  
  Private Sub Command1_Click()
  
  Command1.Enabled = False
  
  ‘ 运行更新程序
  
  Shell App.Path & "update.exe", vbNormalFocus
  
  End Sub
  
  
  Private Sub Form_Load()
  
  Dim i As Integer
  
  If App.PrevInstance Then End
  
  UpdateIniPath = App.Path & "Update.ini"
  
  
  ‘ 记录主程序的名字
  
  WritePrivateProfileString "Main", "Name", App.EXEName, UpdateIniPath
  
  ‘ 记录运行状态
  
  WritePrivateProfileString "Main", "Active", "-1", UpdateIniPath
  
  Me.Caption = App.EXEName
  
  End Sub
  
  
  Private Sub Form_Unload(Cancel As Integer)
  
  ‘ 记录运行状态
  
  WritePrivateProfileString "Main", "Active", "0", UpdateIniPath
  
  End Sub