Rien ne se passe avec URLDownloadToFile [Résolu]

Signaler
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008
-
Messages postés
32
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 mai 2011
-
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

Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
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
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

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
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
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
Messages postés
32
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 mai 2011

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...
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
22
Date d'inscription
mardi 9 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2008

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
Messages postés
32
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 mai 2011

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)
Messages postés
32
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 mai 2011

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)