URLDownloadToFile() utiliser en C [Résolu]

Signaler
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005
-
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
-
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
A voir également:

9 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
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;


}
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005

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
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
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.
Messages postés
93
Date d'inscription
vendredi 27 février 2004
Statut
Membre
Dernière intervention
30 mai 2005

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
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
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
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

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!! :-))
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

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!! :-))
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

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!! :-))
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Problême résolu : URLDownloadToFileA ....

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))