Toon posts:

[VB] http download resumen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben al een tijdje aan het zoeken achter een manier om een download te resumen via het wininet.dll gebeuren.

Het downloaden lukt via het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Declare Function InternetOpen Lib "wininet.dll" _
      Alias "InternetOpenA" (ByVal sAgent As String, _
      ByVal lAccessType As Long, ByVal sProxyName As String, _
      ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Private Declare Function InternetOpenUrl Lib "wininet.dll" _
   Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, _
   ByVal sUrl As String, ByVal sHeaders As String, _
   ByVal lHeadersLength As Long, ByVal lFlags As Long, _
   ByVal lContext As Long) As Long

Private Declare Function InternetReadFile Lib "wininet.dll" _
   (ByVal hFile As Long, ByVal sBuffer As String, _
   ByVal lNumberOfBytesToRead As Long, _
   lNumberOfBytesRead As Long) As Integer

...

hInternetSession = InternetOpen("My VB App!", _
             INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
hUrlFile = InternetOpenUrl(hInternetSession, _
             "http://bla...", vbNullString, 0, INTERNET_FLAG_RELOAD, 0)

...

bDoLoop = InternetReadFile(hUrlFile, sReadBuffer, _
                           Len(sReadBuffer), lNumberOfBytesRead)
...


Tot zover alles goed, maar nu de mogelijkheid tot resumen. Nu is er een functie als deze: http://msdn.microsoft.com...nternetsetfilepointer.asp

code:
1
2
3
4
5
6
7
Declare Function InternetSetFilePointer Lib "wininet.dll" _
 (ByRef hFile As Long, ByVal lDistanceToMove As Long, pReserved As Any, _
 ByVal dwMoveMethod As Long, ByVal dwContext As Long) _
 As Long

...
InternetSetFilePointer hUrlFile, sizevanmijnbestandje, vbNullString, FILE_BEGIN, 0


Ik krijg echter steeds -1 terug, waarbij ik begrijp dat de server zulke resume niet ondersteunt. Maar als ik dan probeer dezelfde file te downloaden & resumen met bijvoorbeeld Opera dan werkt het wel.

Nu vraag ik me dus af of ik niet iets over het hoofd zie. Heeft iemand een werkend voorbeeldje van de internetsetfilepointer functie?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

De derde parameter van InternetSetFilePointer is reserved en moet NULL zijn, volgens mij is vbNullString een constante met een lege string (en dus wel een waarde).

Professionele website nodig?