Afficher dans la fenetre un site web [Résolu]

Signaler
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006
-
trafounet
Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006
-
Bonjour,


J'ai besoin d'aide... Je pense que mon problème est relativement
simple, mais la solution l'est beaucoup moins car j'ai déjà pas mal
cherché et je n'ai rien trouvé.


Je voudrais afficher un site web en fait dans une sorte de cadre. Un
peu a la maniere qu'on peut faire en .net avec le webrowser sauf que
moi j'utilise dev c++


Merci d'avance...

17 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
8
Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006

essaye, sous dev-cpp, file/import/import MS visual project
et met le raccourci du fichier Conteneur.dsp, chez moi ca marche ;)
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
8
Trafounet >> Regarde la réponse à cette question dans les commentaires du code source. Le fichier exdispid.h de Dev-C++ n'est pas complet. Il suffit donc de le compléter.

clabe >> Tu peux faire comme ceci:
WCHAR url[260];
MultiByteToWideChar (CP_ACP, 0,"www.monsite.com", -1, url, 260);
pIWeb->Navigate(url,0,0,0,0);
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Bonjour,


Ca ne marche pas sous Dev c++

J'obtient des erreurs lorsque je vaux tester...


Comment faire pour l'adapter a dev c++ ?

Sinon cette source si elle pouvait marcher sur dev c++ me parait très bien et parfaitement adaptée a ce que je veux faire...


Merci d'avance
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
8
Normalement ça devrait marcher sur Dev-C++.
Montre-nous les erreurs que tu as.
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Il me dit que l'erreur est sur cette ligne là (enfin c'est là qu'il s'arrete):


 CoCreateInstance(CLSID_WebBrowser,0,CLSCTX_ALL,IID_IWebBrowser2,(void**)&pIwb);


et j'ai les messages suivants


 C:\Dev-Cpp\tv\main.c In function `WinMain':

76 C:\Dev-Cpp\tv\main.c incompatible type for argument 1 of `CoCreateInstance'

76 C:\Dev-Cpp\tv\main.c incompatible type for argument 4 of `CoCreateInstance'

78 C:\Dev-Cpp\tv\main.c [Warning] passing arg 1 of pointer to function from incompatible pointer type

80 C:\Dev-Cpp\tv\main.c structure has no member named `GoHome'

91 C:\Dev-Cpp\tv\main.c structure has no member named `Release'

 C:\Dev-Cpp\tv\Makefile.win [Build Error]  [main.o] Error 1
Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006

par contre dans la 2eme source, il y a quelque chose de bizarre: tu declare
#define DOWNLOADBEGIN         WM_USER+1
#define DOWNLOADCOMPLETE      WM_USER+2
ect...
et tu utilise DISPID_DOWNLOADBEGIN, DISPID_DOWNLOADCOMPLETE..., qui d'apres le compilo, n'est pas déclaré...
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Qu'est ce qu'il doit y avoir dans conteneur.dsp ?

Parceque là j'ai aps trop compris...
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Nikel ca marche...


Merci beaucoup...
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Dernière question, comment on fait pour lancer une autre page que celle de demarrage ?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
8
clabe >> Je viens de tester sur Dev-C++ et ça marche après quelques petites modifications.
- Il parait que ton projet est en C alors que mon code source est en C++. L'accès aux interfaces COM est différent en C. Tu dois donc créer un nouveau projet en C++ et y coller le code source.
- Dans les options du compilateur tu ajoutes -lole32. Je pense que c'est déjà fait.
- Dev-C++ déclare CLSID_WebBrowser et IID_IWebBrowser2 mais il ne les définit pas. Il faudra alors faire juste après les include:
GUID WebBrowser={0x8856F961,0x340A,0x11D0,{0xA9,0x6B,0x00,0xC0,0x4F,0xD7,0x05,0xA2}};
GUID ID_IWebBrowser2={0xD30C1661,0xCDAF,0x11D0,{0x8A,0x3E,0x00,0xC0,0x4F,0xC9,0xE2,0x6E}};

Puis dans le code:
CoCreateInstance(WebBrowser,0,CLSCTX_ALL,ID_IWebBrowser2,(void**)&pIwb);

C'est testé et ça marche.
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Moi j'ia réussi aussi

Mais j'ai pas réussi a changer la page qui s'affiche...
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Moi j'ia réussi aussi

Mais j'ai pas réussi a changer la page qui s'affiche...
Messages postés
12
Date d'inscription
mardi 4 avril 2006
Statut
Membre
Dernière intervention
31 juillet 2006

Un grand merci à vous deux, ca marche nickel maintenant...
Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006

regarde le 2eme source
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
8
La solution de trafounet est intéressante. D'ailleurs je la connaissais
pas. Mais je préfère ma solution car elle te permet de savoir
exactement ce qui n'allait pas.


trafounet >> Il n'y a rien de bizarre dans le code:
DOWNLOADBEGIN est un identificteur de message à envoyer à la procédure de la fenêtre.
DISPID_DOWNLOADBEGIN est un identificateur d'événement envoyé à notre application par le composant WebBrowser.
Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006

oups dsl jme suis trompé de sujet :)
j'ai modifier le header et ca marche merci