URLDownloadToFile() utiliser en C [Résolu]

Messages postés
93
Date d'inscription
vendredi 27 février 2004
Dernière intervention
30 mai 2005
- 12 janv. 2005 à 10:00 - Dernière réponse :
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
17 septembre 2012
- 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 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
17 septembre 2012
- 12 janv. 2005 à 19:52
3
Merci
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;


}

Merci cs_aardman 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 87 internautes ce mois-ci

Commenter la réponse de cs_aardman
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Dernière intervention
30 mai 2005
- 12 janv. 2005 à 11:15
0
Merci
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
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
17 septembre 2012
- 12 janv. 2005 à 12:47
0
Merci
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
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Dernière intervention
30 mai 2005
- 12 janv. 2005 à 14:20
0
Merci
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
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
17 septembre 2012
- 12 janv. 2005 à 15:47
0
Merci
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
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Dernière intervention
24 juillet 2011
- 12 janv. 2005 à 19:18
0
Merci
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
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Dernière intervention
24 juillet 2011
- 12 janv. 2005 à 19:22
0
Merci
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
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Dernière intervention
24 juillet 2011
- 12 janv. 2005 à 19:33
0
Merci
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
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Dernière intervention
24 juillet 2011
- 12 janv. 2005 à 19:47
0
Merci
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.