当我们编写程序时,会常常遇到程序信息内容更新的问题,对于小的文件更新,可以提供给客户自己到网络上下载,但对于大且多的文件,由于网络的原因,通过下载却又不实际,动辄是更新不完整,影响了程序的运行。当时我编写“商务娱乐频道系统”时,也遇到了这样的问题,对于大型的视频及图片文件,我考虑到了使用压缩包提供给客户,但是通过使用压缩程序却不能将我的文件按要求进行解压到其他相应的目录,那时我想到了何不自己制作压缩与解压缩程序呢。解压时将文件解压到程序所要的位置。
为了这个项目,我仔细的研究了VB的安装程序,原来VB是通过系统所自带的资源来进行压缩与解压缩,如MakeCab.exe、vb6stkit.dll等。
其实真真做起来还是挺简单的,就是调用几个API函数便可以搞定。近日,闲着有空,翻看自己的旧程序,故决定将该程序整理出来,与大家共享。
下面是具体的程序编写模块,首先你需要建立一个工程(名称由你自己确定了):
1. 添加两个模块,在这里我给它们分别命名为modAPI、modMain;
2. 添加三个窗体,在这里我给它们分别命名为frmMain、frmLogin、frmAddInfo;
3. 以下是各个模块的源代码内容,请先保存该工程,并且关闭,然后转到该工程的文件夹下,按下面的提示进行源代码拷贝;
用记事本打开frmMain.frm文件,copy以下内容到其中:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "信息文件更新"
ClientHeight = 5385
ClientLeft = 45
ClientTop = 330
ClientWidth = 8550
ControlBox = 0 'False
Icon = "frmMain.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5385
ScaleWidth = 8550
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton cmdOk
Caption = "导出更新列表"
Height = 375
Index = 3
Left = 5385
TabIndex = 6
Top = 4980
Width = 1545
End
Begin VB.CommandButton cmdOk
Caption = "关 闭"
Height = 375
Index = 2
Left = 7620
TabIndex = 5
Top = 4980
Width = 885
End
Begin VB.CommandButton cmdOk
Caption = "打 包"
Height = 375
Index = 1
Left = 3810
TabIndex = 1
Top = 4980
Width = 885
End
Begin VB.CommandButton cmdOk
Caption = "展 开"
Height = 375
Index = 0
Left = 0
TabIndex = 0
Top = 4980
Width = 885
End
Begin MSComctlLib.ListView lstInfo
Height = 4275
Left = 0
TabIndex = 2
Top = 330
Width = 8505
_ExtentX = 15002
_ExtentY = 7541
View = 3
Arrange = 1
LabelEdit = 1
MultiSelect = -1 'True
LabelWrap = -1 'True
HideSelection = 0 'False
FullRowSelect = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
NumItems = 3
BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Text