Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: okik en 5 Febrero 2015, 16:30 pm



Título: Descargar archivos grandes con API en VB6
Publicado por: okik en 5 Febrero 2015, 16:30 pm
Hola,
Ya uso Vb,net pero estoy corrigiendo un programa que hice con vb6. Es un poco grande y no quiero pasarlo a vb.net.

El programa descarga archivos pero ocurre que NO descarga archivos que sean demasiado grandes.

El código que uso para descargar es este:

Código
  1. Private Declare Function URLDownloadToFile Lib "urlmon" _ Alias "URLDownloadToFileA" (ByVal pCaller As Long,  _
  2. ByVal szURL As String,  _
  3. ByVal szFileName As String,  _
  4. ByVal dwReserved As Long,  _
  5. ByVal lpfnCB As Long) As Long
  6. Dim Contador As Integer
  7.    Const ERROR_SUCCESS As Long = 0
  8.    Const INTERNET_FLAG_RELOAD As Long = &H80000000
  9.    Const BINDF_ASYNCHRONOUS = &H1
  10.    Const BINDF_ASYNCSTORAGE = &H2
  11.    Const BINDF_NOPROGRESSIVERENDERING = &H4
  12.    Const BINDF_OFFLINEOPERATION = &H8
  13.    Const BINDF_GETNEWESTVERSION = &H10 ' El funcionamiento del lazo debe recuperar la más nueva versión de los datos.
  14.    Const BINDF_NOWRITECACHE = &H20
  15.    Const BINDF_NEEDFILE = &H40
  16.    Const BINDF_PULLDATA = &H80
  17.    Const BINDF_IGNORESECURITYPROBLEM = &H100
  18.    Const BINDF_RESYNCHRONIZE = &H200
  19.    Const BINDF_HYPERLINK = &H400
  20.    Const BINDF_NO_UI = &H800
  21.    Const BINDF_SILENTOPERATION = &H1000
  22.    Const BINDF_PRAGMA_NO_CACHE = &H2000
  23.    Const BINDF_FREE_THREADED = &H10000
  24.    Const BINDF_DIRECT_READ = &H20000
  25.    Const BINDF_FORMS_SUBMIT = &H40000
  26.    Const BINDF_GETFROMCACHE_IF_NET_FAIL = &H80000
  27.  
  28.  
  29.  
  30. Public Function DownloadFile(URL As String,  _
  31. LocalFilename As String) As Boolean
  32.    Dim lngRetVal As Long
  33.    lngRetVal = URLDownloadToFile(0&, URL, LocalFilename, BINDF_ASYNCHRONOUS , 0&)
  34.    If lngRetVal = 0 Then DownloadFile = True
  35. End Function