Hallo,
Weiss zwar nicht wie es mit UrlDownloadToFile funktioniert, aber diese Funktion kommt aus der WinAPI oder? Dann müsste auch mein Quellcode mit InternetReadFile funktionieren.
#include
#include
#include
#pragma comment(lib, "Wininet.lib")
int GetSize(HINTERNET hUrl);
bool DownloadToFile(HINTERNET hUrl, char \*path);
int main()
{
LPCSTR Download = "Link"; //Hier einen Link einfügen
HINTERNET hInet, hUrl;
hInet = InternetOpen("MeinProgramm", INTERNET\_OPEN\_TYPE\_PRECONFIG, 0, 0, 0);
hUrl = InternetOpenUrl(hInet, Download, 0, 0, 0, 0);
GetSize(hUrl);
DownloadToFile(hUrl, "C:\\test.exe");
InternetCloseHandle(hUrl);
InternetCloseHandle(hInet);
system("pause");
}
int GetSize(HINTERNET hUrl)
{
int length = 1024;
char \*size = (char\*)malloc(length);
HttpQueryInfo(hUrl, 5, size, (LPDWORD)&length, 0);
return atoi(size);
}
bool DownloadToFile(HINTERNET hUrl, char \*path)
{
int Bytes, Buffer, eBytes;
int SizeOfFile;
SizeOfFile = GetSize(hUrl);
int iProzent;
Bytes = 0;
eBytes = 0;
Buffer = 16384;
bool Loop = true;
void \*Data = malloc(Buffer);
char output [300];
DWORD written;
float MB, eMB;
HANDLE file;
file = CreateFile(path, GENERIC\_READ | GENERIC\_WRITE, 0, NULL, CREATE\_ALWAYS, FILE\_ATTRIBUTE\_NORMAL | FILE\_FLAG\_RANDOM\_ACCESS, NULL);
if (file == INVALID\_HANDLE\_VALUE)
{
std::cout
Hoffe es funktioniert.
Gruß Michael
> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>