Ik zou graag in Visual Basic bestanden kunnen downloaden en door middel van een voortgangsindicator tonen hoeveel er al gedownload is. De downloads zouden zowel http als ftp moeten kunnen zijn.
Eerst heb ik heel wat zitten frutsen met de Inet control van VB6. Maar ik kon er maar geen voortgangsindicator aan vastkrijgen. Verder heb ik nog wat Winsock-code zien voorbijkomen, maar die was te ingewikkeld om te kunnen begrijpen.
Toen ondekte ik dit. Een C++ programma dat gewoon Internet Explorer gebruikt. Leek me zeer handig. Na een tijdje kreeg ik de C++ functieaanroep omgevormd naar Visual Basic:
Met bovenstaande code kan ik zonder problemen een bestand downloaden. Nu zou ik echter de functie OnProgress moeten gebruiken om de voortgang te verkrijgen. Maar ik weet niet hoe dit in Visual Basic te implementeren.
Heeft er iemand een idee hoe ik een voortgangsindicator van een download voor elkaar krijg in Visual Basic?
Eerst heb ik heel wat zitten frutsen met de Inet control van VB6. Maar ik kon er maar geen voortgangsindicator aan vastkrijgen. Verder heb ik nog wat Winsock-code zien voorbijkomen, maar die was te ingewikkeld om te kunnen begrijpen.
Toen ondekte ik dit. Een C++ programma dat gewoon Internet Explorer gebruikt. Leek me zeer handig. Na een tijdje kreeg ik de C++ functieaanroep omgevormd naar Visual Basic:
code:
1
2
3
4
5
6
7
8
| Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Sub Command1_Click()
Dim llRetVal As Long
llRetVal = URLDownloadToFile(0, "http://www.test.com", "C:\test.txt", 0, 0)
End Sub |
Met bovenstaande code kan ik zonder problemen een bestand downloaden. Nu zou ik echter de functie OnProgress moeten gebruiken om de voortgang te verkrijgen. Maar ik weet niet hoe dit in Visual Basic te implementeren.
Heeft er iemand een idee hoe ik een voortgangsindicator van een download voor elkaar krijg in Visual Basic?