írásban telepítő

A leggyakoribb kérdés, amit feltett kap -, hogyan lehet a telepítőprogram? És amikor megkért, hogy ismertesse a részleteket, hogy szükség van csak egy szép programot, amely fájlokat másolni egyik helyről a másikra. Így elhatároztam, hogy írok egy cikket, amely összegyűjti sok, amit korábban már írtam (és ez a VBStreets). fogunk írni egy programot, amely a fájlok telepítéséhez.

Azonnal elnézést valami zavart és ellentmondást a történet, csak hogy most nagyon kevés idő. ezért itt egy példa.

Ami tetszik az ötlet, írás saját telepítő, ez a tény. Ön nem korlátozott, és lök itt sok a funkcióit, és a telepítő van írva, mint egy normális programot.

Most magyarázza az ötlet - meg kell írni egy programot, amely képes kibontani, másolat (felvesz egy bejegyzést a system.ini és nyilvántartás, stb.) De ez az egész. Az alapötlet - hogy az összes fájlt bináris forrás, majd letölteni őket, ha szükséges.

Programok száma Forms bármi lehet, de én nem ajánlom őket túl sokat, hogy ne irritálja a már gonosz juzverej. Hogy formában jelenik meg, ahol szükséges, akkor állítsa be őket az alábbiak szerint:

A Tovább gombra kattintva >> (vagy Következő >>), tudja nevezni a kívánt módon.

frmNext.Show
frmNext.Height = Me.Height
frmNext.Width = Me.Width
frmNext.Move Me.Left, Me.Top
kirak Me

A felhasználó mozoghat a forma, így a másik meg kell jelennie, ugyanazon a helyen, ahol ez volt az előzőnél, mert akkor nagyon hatásos, mintha egy formája :-).

Az első forma a kód teszünk ilyet (Form_Load):

Ha App.PrevInstance Aztán
vég
MsgBox „már fut egy változata a telepítő!” 16 „a beállítás”
End If

Ez biztosítja, hogy a felhasználó lenne nagyon okos nem lőtt két alkalmazás egyszerre.

Akkor lök számos formája, de célszerű, hogy egy mappa párbeszédablak beállítására. Ezután tartsa a következő dolgokat: hely dir1, List1, Label1, Label2, Command1. Írj kódot.

Magán állapítsa Funkció GetDiskFreeSpace Lib "kernel32" Alias ​​"GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

Private Sub Drive1_Change ()
Terek = GetDiskFreeSpace (MID $ (Drive1.Drive, 1, 2), secpercl, bytespersec, numoffreecl, AllCl)
Dim l As Long
L = 1024 ^ 2
SS = bytespersec / l
fs = secpercl * ss * numoffreecl
fs = Format (fs, "0")
Label2.Caption = „Szabad lemezterület” fs "MB"
Dir1.Path = Drive1.Drive
End Sub

Private Sub Dir1_Change ()
mDir = Dir1.Path
Label1.Caption = mDir „Ez a változó hajtott egy modulba Public InsDir karaterlánccá, még mindig hasznos a számunkra.
End Sub

Private Sub Command1_Click ()
On Error GoTo ree_
nd = InputBox ( „Adja meg a könyvtár nevét”, „Új mappa”.)
Ha nd = "" Akkor Exit Sub
mkdir Dir1.Path „” nd
Dir1.Refresh
Exit Sub
ree_:
MsgBox „A hiba, de.” 16 „a beállítás”
End Sub

Felveheti valami mást. Ugyanaz, mint azt például a.

Aztán ott van a párbeszédre, a beállítást. Van ilyet:

Private Sub Form_Load () „kivonjuk a forrás fájlt, és hozzon létre egy parancsikont.
ProgressBar1.Value = 20
Dim BinaryData () Amint Byte
BinaryData = LoadResData (101, "Files")
ProgressBar1.Value = 80
Nyílt mDir „Wininfo.exe” bináris Access írása # 1
Tedd # 1, 1, BinaryData
Bezárás # 1
ProgressBar1.Value = 98
lngresult = fCreateShellLink ( "Desktop", "WinInfo" mDir „Wininfo.exe”, „”) „Az angol munkaablakba elhagyja.
ProgressBar1.Value = 100
kirak Me
frmFinish.Show
End Sub

Ami ezután visszavonása az utolsó párbeszéd gratulálok.

Kapcsolódó cikkek