URLDownloadToFile
-
Hi, ich habe eine Konsolenanwendung geschrieben, die eine Datei aus dem Internet downloaden soll.
Ich habe auch schon den richtigen Befel gefunden: URLDownloadToFileDas Problem dabei ist nur, dass der Compiler meine Syntax nicht so ganz zu verstehen scheint^^.
Hier mal der betreffende Ausschnitt aus meinem bisherigen Code:
#include<iostream> #include<windows.h> #include<conio.h> using namespace std; int main() { URLDownloadToFile(NULL,(LPCWSTR) "www.google.de",(LPCWSTR) "C://test.txt", NULL, NULL); }
Daraus ergeben sich 2 Probleme:
1.ich musste bei den Parametern 2 und 3 sowieso schon casten, da sonst die Fehlermeldung "Konvertierung des Parameters 2 con const char in LPCWSTR nicht möglich" kommt. Vielleicht werden diese Paramtere durch den Cast also schonmal falsch konvertiert.
2.Es kommt noch immer eine Fehlermeldung:
fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Da diese Syntax offensichtlich falsch ist, könnte mir beitte jemand ein richtiges Codebeispiel geben?
Danke im Voraus,
Andreas.
-
1.ich musste bei den Parametern 2 und 3 sowieso schon casten, da sonst die Fehlermeldung "Konvertierung des Parameters 2 con const char in LPCWSTR nicht möglich" kommt. Vielleicht werden diese Paramtere durch den Cast also schonmal falsch konvertiert.
Der cast wird nicht benötigt, wenn der korrekte Typ übergeben wird:
#include <tchar.h> // ... URLDownloadToFile(NULL,_T("www.google.de"),_T("C:\\test.txt"), NULL, NULL);
(Für _T(""): http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/8ce6ddef-3f1a-4033-a28b-54af91766e9f)
2.Es kommt noch immer eine Fehlermeldung:
fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Du musst die Library noch dazulinken, in welchem die URLDownloadToFile(..) Funktion implementiert ist, z.B. mit folgender Zeile:
#pragma comment (lib, "Urlmon.lib")
Ausserdem nehme ich an dass der Initialisierungs/Uninitialisierungs Code für das COM Environment benötigt wird (CoInitializeEx(..) / CoUninitialize(..)).
Zuästzlich bist Du noch im falschen Forum. Korrekt wäre wohl eher WinAPI oder MFC, auch wenn beide nicht ganz passen. C++/CLI passt jedefalls gar nicht.
Simon
Edit: Und hier noch die Doku zur Funktion. Da steht ALLES was Du wissen musst.
http://msdn.microsoft.com/en-us/library/ms775123.aspx