URLDownloadToFile() utiliser en C [Résolu]

casper_2 93 Messages postés vendredi 27 février 2004Date d'inscription 30 mai 2005 Dernière intervention - 12 janv. 2005 à 10:00 - Dernière réponse : cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention
- 12 janv. 2005 à 19:52
Bonjour a tous,a ce stade,je pense ke vous me connaiser,car chak jour je pose des kestions et grace a vous je m'en sort!!
Je voudrait savoir comment utliser la focntion URLDownloadToFile(),que l'ont m'a confier pour me permettre de telecharger des dossier ZIP a l'aide des socket!
Je voudrais savoir:
-les librairie utiles
- et comment jpourrai l'utiliser avec les socket!
Si kelkun a un exemple de programme avec les socket et cette focntion,pourrait til me les faire voirs svp!!
Au faite je programme en C.
Mercie encore infiniment les gars.

CASPER
Afficher la suite 

9 réponses

Répondre au sujet
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 12 janv. 2005 à 19:52
+3
Utile
Salut,

#include
<windows.h>


typedef (
__stdcall *FUNC)(DWORD,
char*,
char*, DWORD, DWORD);


FUNC pFunc;


int main(
void)


{


HMODULE hDLL;


hDLL = LoadLibrary(
"urlmon.dll");



if(hDLL)


{


pFunc = GetProcAddress(hDLL,
"URLDownloadToFileA");


pFunc(
0,
"",
"",
0,
0);


FreeLibrary(hDLL);


}


return
0;


}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_aardman
casper_2 93 Messages postés vendredi 27 février 2004Date d'inscription 30 mai 2005 Dernière intervention - 12 janv. 2005 à 11:15
0
Utile
Ma kestion serait plus claire,ainsi!!!!!!
<!--StartFragment -->



Comment télécharger des dossiers XLS.
Ou plus largement comment faire pour que mon programme télécharge un fichier depuis un site internet (serveur) et le stock sur mon disque sous un nom choisi .
On ma conseiller cette fonction <!--StartFragment --> URLDownloadToFile mais g bo chercher,helas, jarive pas a m'en servir.
Je voudrais savoir:
-les librairie utiles
- et comment jpourrai l'utiliser avec les socket!

Je vous remercie,et c'est un peu urgent!
Mercie encore.

CASPER
Commenter la réponse de casper_2
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 12 janv. 2005 à 12:47
0
Utile
Salut,


Ben justement cette fonction te permetrait de ne pas utiliser les sockets (qui sont vraiment plus compliqués).


Tu as juste a passer l'url du fichier, et le chemin sur le disquedur ou tu veux qu'il soit téléchargé, et la fonction fait tout le reste.
Commenter la réponse de cs_aardman
casper_2 93 Messages postés vendredi 27 février 2004Date d'inscription 30 mai 2005 Dernière intervention - 12 janv. 2005 à 14:20
0
Utile
Ok,dacord,mais comment l'utiliser kel sont c argument,et g un pwoblem au niveau des librairie.
Ou pourrai-je les telecharger.
stp
CASPER
Commenter la réponse de casper_2
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 12 janv. 2005 à 15:47
0
Utile
Salut,
J'ai oublié de preciser que cette fonction fonctionne uniquement sous windows.
Il faut inclure urlmon.h et linker urlmon.lib
et ensuite tu appeles ta fonction comme ca:
URLDownloadToFile(0, "http://www.site.com/fichier.zip", "c:\\fichier.zip", 0, 0);
et le fichier sera downloadé.
Tout les infos sur cette fonction sont sur msdn:
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/moniker/reference/functions/urldownloadtofile.asp
Commenter la réponse de cs_aardman
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 12 janv. 2005 à 19:18
0
Utile
Oui aardman, j'ai une question alors à te poser : on fait comment quand on programme sous devcpp et que ce compilo n'a pas de fichier urlmon.h (ni de lib de ce nom laà d'ailleurs) ? ça je crois que c'est la question à 20 000 € (et pas le droit de réponde : "change de compilo" :p).... j'ai essayé de lancer direct cte fonction à partir de sa DLL d'origine (urlmon.dll, présente dans le dossier Windows\System32) mais sans succès, quelqu'un a une brillante idée ?? Ou quelqu'un a t'il réussi à faire ce lien avec la DLL ?

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Commenter la réponse de Gendal67
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 12 janv. 2005 à 19:22
0
Utile
Enfait, c'est assez dur de faire un pointeur de fonction sur cette fonction là, le membre lpfnCB étant de type LPBINDSTATUSCALLBACK, c'est à dire une interface bizarroïde, perso, j'y arrive pas!! SI qqun est assez fou pour essayer et pire, pour trouver, je suis preneur!! Avis aux experts en la matière là!

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Commenter la réponse de Gendal67
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 12 janv. 2005 à 19:33
0
Utile
Je vais même vous aider à m'aider (et à en aider d'autres en même temps) en vous fournissant le code tapé:

#include <windows.h>


#define LPBINDSTATUSCALLBACK DLGPROC


typedef HRESULT (*URL) (LPUNKNOWN, LPCTSTR, LPCTSTR, DWORD, LPBINDSTATUSCALLBACK);



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

HINSTANCE hDll;
hDll = LoadLibrary("urlmon.dll");

if(!hDll) {

MessageBox(0, "DLL urlmon non trouvée", "DLL manquante", MB_ICONHAND);
return 0;
}

URL pUrl;
pUrl = (URL) GetProcAddress(hDll, "URLDownloadToFile");

if(!pUrl) {

MessageBox(0, "Fonction 'URLDownloadToFile' non trouvée", "Fonction manquante", MB_ICONHAND);
return 0;
}

pUrl(0, "http://www.test.fr/pitizip.zip", "D:\\Ici.zip", 0, 0);
FreeLibrary(hDll);
}

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Commenter la réponse de Gendal67
Gendal67 627 Messages postés mercredi 16 juin 2004Date d'inscription 24 juillet 2011 Dernière intervention - 12 janv. 2005 à 19:47
0
Utile
Problême résolu : URLDownloadToFileA ....

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Commenter la réponse de Gendal67

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.