í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.