您现在的位置是: 软件 > 设计在线 > 网页陶吧 > 技术平台 > HTML学习 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

VB实现应用程序在局域网上自动更新
2001-02-22· ·姜元东··YESKY

上一页  1 2 3  下一页


  本例中:

  服务器:NtServer01 共享目录: Refresh

  应用程序:MyApp.exe 中介程序:FastCopy.exe (都存储于共享目录中)

  具体程序实现如下:

  在应用程序工程MyApp中的部分代码如下:

  Option Explicit

  '编译后的应用程序名称,注意没有后缀 .EXE,本例为MYAPP

  Private Const App_Name = "MyApp"

  '最新的应用程序存放的路径,本例为:服务器 NtServer01 共享目录 Refresh

  Private Const ExePath = "\\NtServer01\Refresh\"

  '中介程序名称,注意没有后缀 .EXE,本例为 FastCopy

  Private Const MidExeName = "FastCopy"

  '应用程序入口

  Private Sub Form_Load()

   If UCase(Trim(App.EXEName)) <> UCase(Trim(App_Name)) Then

    MsgBox "必须将订单管理系统的名称更改为: " + App_Name

    End

   End If

   '判断是否有最新版本的应用程序,如有则自动更新

   Call ExeRefresh

   '下面为订单管理系统的正常操作 略 ... ....

  End Sub

  '版本检查及更新过程

  rivate Sub ExeRefresh()

  '定义四个临时字符串变量

  Dim s1 As String

  Dim s2 As String

  Dim s3 As String

  Dim s4 As String

  On Error Resume Next

  '将本地应用程序MyApp.EXE的全路径名存入 s1

  '将本地中介程序FastCopy.exe的全路径名存入 s3

  s1 = "TNT"

  If Len(App.Path) > 3 Then

   s1 = App.Path + "\" + Trim(App_Name) + ".exe"

   s3 = App.Path + "\" + MidExeName + ".EXE"

  Else

   s1 = App.Path + Trim(App_Name) + ".exe"

   s3 = App.Path + MidExeName + ".EXE"

  End If

  s4 = "TNT"

  '将本地应用程序MyApp.EXE文件的修改时间存入 s4

  s4 = FileDateTime(s1)

  s2 = "TNT"

  '将网络上应用程序MyApp.EXE文件的修改时间存入 s2

  s2 = FileDateTime(ExePath + App_Name + ".EXE")

  If s2 = "TNT" Then

   MsgBox "没有找到最新的可执行文件:" + ExePath + App_Name + ".EXE" _ + vbCrLf + vbCrLf + "原因1:存放最新EXE的服务器或者工作站没有打开;" _ + vbCrLf + "原因2:存放最新EXE的路径错误或者EXE文件不存在;" _+ vbCrLf + "请将此情况通知程序员." + vbCrLf + vbCrLf _+ vbCrLf + "按确定按钮后,将继续运行本地EXE文件.", vbCritical, "提示"

   End If

  If s2 = "TNT" Or s4 = "TNT" Then Exit Sub

   '如果网络上应用程序MyApp.EXE文件的修改时间,大于本地MyApp.EXE文件的修改时间

   '然后再运行本地MyApp.EXE ,中介程序退出后,整个更新过程结束.

  If CDate(s2) > CDate(s4) Then

   '将网络上的中介程序FastCopy.exe复制到本地,这样可防止本地无中介程序时无法进行更新

   FileCopy ExePath + MidExeName + ".EXE", s3

   '则运行中介程序FastCopy.exe ,将最新的MyApp.EXE 复制到本地

   s1 = Shell(s3 + " " + ExePath + "," + App_Name + ".EXE", vbNormalFocus)

   '本地应用程序MyApp.EXE 终止运行,否则已经更新的MyApp.EXE无法覆盖本地的MyApp.EXE .

   End

  End If

  End Sub

  将以上程序编译为:MyApp.exe 存储在共享目录中.

上一页  1 2 3  下一页

■ 相关内容
 VB应用程序的界面设计
 网络的总体构建
 浅谈两层和三层计算模式
 VFP编程中的变量操作
 VB 通过API访问 Windows 注册表
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!