Rien ne se passe avec URLDownloadToFile

Résolu
zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008 - 18 mai 2008 à 13:12
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011 - 17 nov. 2008 à 18:05
Bonjour, je débute (encore ...) en cpp et j'ai un gros soucis :
je n'ai aucune erreur de compilation (vc++2008), mais mon prog ne fait rien.
Voici le code:

#include "stdafx.h"
#include
#pragma comment(lib, "Urlmon.lib")

int main()
{
    URLDownloadToFile( NULL, "http://3o3i.pagesperso-orange.fr/index.html", "get.html", 0, NULL );
    return 0;
}

Est-ce normal  docteur ?

Merci d'avance

Cordialement
3o3i

11 réponses

zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008
18 mai 2008 à 15:31
Je vien d'avoir la solut sur news://194.177.96.26/fr.comp.os.ms-windows.programmation (merci [auteur/MIQUEL75/1332353.aspx Miquel75])

CoInitialize(NULL); au début du main, et hop.

Merci à tous

3o3i
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2008 à 13:26
La première chose a regarder est la valeur retournée par la fonction (0 si tout se passe bien).
J'ai testé de mon coté, ca marche (le fichier get.html est créé dans le chemin courant)

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008
18 mai 2008 à 13:47
heu, je suis pas sur de ce que je fait, mais on dirait que ça marche pas :

if(URLDownloadToFile( NULL, L"http://3o3i.pagesperso-orange.fr/index.html", L"./get.html", 0, NULL )!=0)
{
    std::cout << "pas ok";
}else{
    std::cout << "ok";
}

me retourne "pas ok" .

alors, qu'y puis-je ?

3o3i
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
18 mai 2008 à 14:07
Bonjour,

Ici aussi tout se passe bien sous Visual C++ 6.0 et UNICODE :

#define UNICODE
#include <stdio.h>
#include
#pragma comment(lib,"Urlmon.lib")



int main(void)
{
   if (URLDownloadToFile(NULL,L"
http://3o3i.pagesperso-orange.fr/index.html",L"./get.html",0,NULL
) == S_OK)
      wprintf(L"\nOK\n");
   else
      wprintf(L"\nNO_OK\n");
   return 0;
}


Ce qui rapatrie un fichier de 8,72 Ko.



Jean-François
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008
18 mai 2008 à 14:23
Ben non, pas chez moi sous vc++2008
je vais qd meme pas changer de compilo pr ça ???

j'ai bien mes propriete en unicode, mais si je rajoute "#define UNICODE" , j'ai un warning "warning C4005: 'UNICODE' : macro redefinition".

???

3o3i
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2008 à 14:33
Tu dois déja être en unicode (chaines de la forme L"...")
Inutile non plus de changer de compilo, ca ne changera rien.
Regarde la valeur retournée par URLDownloadToFile, ca te donnera une indication sur l'erreur

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
16 nov. 2008 à 00:49
salut [../auteur/ZOZIZOZU/769362.aspx zozizozu]
j'ai maintenant exactement le meme problème que toi
Ou a tu placé le CoInitialize(NULL); exactement?
A chaque fois j'ai une erreur. En particulier avec ceci sur une winforms, le click sur un bouton  déclenche le téléchargement :

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
CoInitialize(NULL);
URLDownloadToFile(0, L"http://blabla.com/histo.txt", L"c:\\test.txt", NULL, 0);
}

voici l'erreur :
error LNK2028: jeton non résolu (0A000016) "extern "C" long __stdcall CoInitialize(void *)" (?CoInitialize@@$$J14YGJPAX@Z) référencé dans la fonction "private: void __clrcall blablabla
fatal error LNK1120: 2 externes non résolus
 
si quelqu'un peut m'aider merci...
0
zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008
16 nov. 2008 à 10:01
Salut, je ne peus pas expliquer ( je suis tjrs debutant et le cpp et un langage de dernier recours pour moi), mais voici mon code exact (compill ok sur Visual C++ Express 2008):

#include "stdafx.h"

#include <stdio.h>

#include

#pragma comment(lib,"Urlmon.lib")

 
int main(void)

{

    CoInitialize(NULL);

    if (URLDownloadToFile(NULL,L" http://3o3i.pagesperso-orange.fr/index.html",L"./get.html",0,NULL ) == S_OK)

    {

        wprintf(L"\nOK\n");

    }else{

        wprintf(L"\nNO_OK\n");

    }

    return 0;

}

J'espere que cela pourra t'aider

3o3i
0
zozizozu Messages postés 22 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 16 novembre 2008
16 nov. 2008 à 10:01
Salut, je ne peus pas expliquer ( je suis tjrs debutant et le cpp et un langage de dernier recours pour moi), mais voici mon code exact (compill ok sur Visual C++ Express 2008):

#include "stdafx.h"

#include <stdio.h>

#include

#pragma comment(lib,"Urlmon.lib")

 
int main(void)

{

    CoInitialize(NULL);

    if (URLDownloadToFile(NULL,L" http://3o3i.pagesperso-orange.fr/index.html",L"./get.html",0,NULL ) == S_OK)

    {

        wprintf(L"\nOK\n");

    }else{

        wprintf(L"\nNO_OK\n");

    }

    return 0;

}

J'espere que cela pourra t'aider

3o3i
0
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
17 nov. 2008 à 18:04
Salut
ca marche toujours pas je sais pas pourquoi. Merci quand meme.
Si quelqu'un a une idée...
voici mon erreur
error LNK2028: jeton non résolu (0A000016)
0
zebulon88 Messages postés 32 Date d'inscription jeudi 5 juin 2008 Statut Membre Dernière intervention 4 mai 2011
17 nov. 2008 à 18:05
Salut
ca marche toujours pas je sais pas pourquoi. Merci quand meme.
Si quelqu'un a une idée...
voici mon erreur
error LNK2028: jeton non résolu (0A000016)
0
Rejoignez-nous