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 29 30 31 32 33 34 35 36
|
#include <stdio.h>
#include "wininet.h"
bool __fastcall MyDownloadToFile(String URLSourceFile,String DestFile)
{
if(FileExists(DestFile)) DeleteFile(DestFile);
char cBuffer[1024];
DWORD dwBytesRead;
FILE * fichier;
String AppName = ExtractFileName(Application->ExeName);;
HINTERNET hInternetSession =InternetOpen(AppName.c_str(), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
try{
HINTERNET hURL = InternetOpenUrl(hInternetSession, URLSourceFile.c_str(), NULL,0,0,0);
try{
fichier= fopen(DestFile.c_str(),"ab+");
do{
InternetReadFile(hURL,(LPSTR)cBuffer,(DWORD)1024,&dwBytesRead);
fwrite(cBuffer, dwBytesRead, 1, fichier);
}while (dwBytesRead!=0);
fclose(fichier);
InternetCloseHandle(hURL);
InternetCloseHandle(hInternetSession);
return true;
}catch(...){
InternetCloseHandle(hURL);
InternetCloseHandle(hInternetSession);
return false;
}
}catch(Exception &e){
InternetCloseHandle(hInternetSession);
return false;
}
} |
Partager