百宝云论坛

 找回密码
 立即注册
查看: 438|回复: 0

【Web文件更新系统】 - VB接入教程

[复制链接]

90

主题

195

帖子

2000

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2000
发表于 2016-7-28 11:06:49 | 显示全部楼层 |阅读模式
VB客户端接入Web文件更新系统教程

应用中心已经正式发布Web文件更新系统的安装过程就不重复啰嗦了,直接进入主题
Web文件更新系统已经为我们提供了 文件更新器 BbyUpdater.exe
我们只需要在 VB 里面调用文件更新器传入对应的启动参数,就可以把Web文件更新系统完美的接入 VB 客户端

下面我们分两步,把Web文件更新系统接入的 VB 客户端中
1、BbyUpdater.exe 启动参数说明
2、调用已经封装好的 文件更新 函数,接入客户端
1、BbyUpdater.exe 启动参数说明

BbyUpdater.exe 进程启动需要附加四个参数
token                百宝云对应云应用token
progname         百宝云对应云应用代码中的项目名称
pid                    当前进程的PID,用于更新器,关闭当前进程
version              件版本号用于区别本地文件与服务器文件,注意版本号必须为1.0.0.0有格式

BbyUpdater 更新器启动参数格式下:
  1. //通过 shell 命令 打开更新器,并传入对应的参数,实现程序的下载更新。
  2. BbyUpdater.exe "token" "progname" "pid" "version"
复制代码
每个参数之间必须使用空格隔开,参数需要加个双引号

2、调用封装好的 文件更新 接口

首先,先把 BbyUpdater.exe,添加到 VB项目的资源目录中,在资源中可以看到ID为101的自定义资源

接下来,再来看我们封装好的 文件更新 函数
  1. Option Explicit
  2. Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long

  3. Dim g_token As String
  4. Dim g_progname As String
  5. Dim g_version As String

  6. Private Function 释放文件()
  7.    
  8.     Dim AppEXE() As Byte
  9.     Dim FileNum As Long

  10.     '将自定义资源中101号资源读入数组
  11.     AppEXE = LoadResData(101, "CUSTOM")
  12.     FileNum = FreeFile

  13.     Open App.Path & "\BbyUpdater.exe" For Binary As #FileNum
  14.     Put #1, , AppEXE
  15.     Close #FileNum
  16.    
  17.     释放文件 = App.Path & "\BbyUpdater.exe"
  18.    
  19. End Function

  20. Function readfile()

  21.     Dim conente As String
  22.     Open App.Path & "\access.token" For Input As #1 ' 打开文件。
  23.     Do While Not EOF(1) ' 循环至文件尾。
  24.      Dim TextLine As String
  25.      Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
  26.      Debug.Print TextLine ' 在调试窗口中显示数据。
  27.      conente = conente & TextLine
  28.     Loop
  29.     Close #1 ' 关闭文件。
  30.     readfile = conente
  31.    
  32. End Function

  33. Public Function 文件更新(token, 项目名称, 版本号)

  34.     'BbyUpdater.exe 进程启动需要附加四个参数
  35.     'token          百宝云对应云应用token
  36.     'progname       百宝云对应云应用代码中的项目名称
  37.     'pid            当前进程的PID, 用于更新器, 关闭当前进程, 如果你是按键精灵, 需要获取父级的进程PID, 按键精灵具有特殊性
  38.     'version        文件版本号,注意版本号必须为1.0.0.0有格式

  39.     Dim file As String
  40.     Dim progname As String
  41.     Dim pid As Long
  42.     Dim command As String
  43.    
  44.     file = 释放文件() '释放资源目录中的文件
  45.     progname = 项目名称
  46.     pid = GetCurrentProcessId()
  47.     command = file & " " & Chr(34) & token & Chr(34) & " " & Chr(34) & progname & Chr(34) & " " & pid & " " & Chr(34) & 版本号 & Chr(34)
  48.     Shell command
  49. End Function
复制代码

然后,我们介绍 文件更新 函数中三个参数的获取这三个参数都可以通过管理后台来获取
参数 token 获取
在管理端最下方的菜单可以找到token,并双击复制


参数 项目名称 获取文件更新系统中可以有多个不同的项目用于区分不同的作用项目名称根据我们实际使用的项目进行选择


参数 版本号 获取版本号格式必须为1.0.0.0
当本地版本号与管理后台的最新版的版本号不一致更新器就会开始更新我们服务器上的文件如果一致则不会做任何操作


最后我们调用 文件更新 接口进行文件的更新
  1. Private Sub Command1_Click()
  2.     Call 文件更新(g_token, g_progname, g_version)
  3. End Sub
复制代码

到这里Web文件更新系统的VB客户端接入教程就完成了
大家赶紧动起手来,在自己的软件的接入Web文件更新系统的文件自动更新功能

最后面给大家看一个自动更新的效果图


VB客户端源码下载:
下载后请注意替换 access.token文件中的token,或者在源码中 给全局变量 g_token 赋值成自己云应用token即可

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|百宝云论坛 ( 湘ICP备15007281号-2 )

GMT+8, 2018-8-22 13:03

Powered by bby! X3.4

© 2015-2018 baibaoyun

快速回复 返回顶部 返回列表