Navigateur web (api)

Soyez le premier à donner votre avis sur cette source.

Vue 14 711 fois - Téléchargée 2 259 fois

Description

Suite à mon précédent code source (Conteneur Activex), voici un navigateur web utilisant le même Activex (WebBrowser), la même interface (IWebBrowser2) avec, en plus, la gestion des événements grâce à l'interface DWebBrowserEvents2. L'interception des événements est assurée par une petite classe (contenue dans evenem.h) exposant l'interface IDispatch et surtout la méthode Invoke. Cette dernière est appelée par notre instance de l'objet WebBrowser chaque fois qu'un événement survient, comme le début ou la fin de navigation , du téléchargement etc...Le constructeur de cette classe prend, comme seul paramètre, le HWND de notre fenêtre principale. Ainsi, tous les événements seront envoyés puis traités dans la procédure de notre fenêtre sous forme de messages.
Comme vous le voyez, la gestion des événements d'un objet Activex, COM ou OLE n'est pas trop compliquée.
Pour empêcher le lancement d'Internet Explorer, toutes les fenêtres popup, désirées ou non, seront bloquées. Le but de cette limitation est de ne pas compliquer inutilement ce code. A vous de le perfectionner comme vous voulez.
Code compilé sous Visual C/C++ 6 et testé sans problème sur Windows 98, 2000 et XP.

Source / Exemple :


Voir le zip.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
2 févr. 2005 à 18:13
si je comprends bien, tu crées la fenetre et gere les events, et la lib fait le reste?
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
2 févr. 2005 à 18:46
Y'a un gros plantage de ton prog sur certains sites.. je sais pas si tu l'as remarqué?
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 16
2 févr. 2005 à 18:51
Oui, mais plutot la classe et non la lib. Après avoir obtenu un pointeur sur l'interface DWebBrowserEvents2, on crée une instance de notre classe puis on commence l'interception des événements en appelant la méthode Advise() de l'interface DWebBrowserEvents2. Cette méthode prend en paramètre le pointeur de notre instance de classe. Cette dernière capte alors tous les événements et les transmet à la procédure de notre fenêtre. C'est dans la méthode Invoke que tout se passe. Regarder dans "evenem.h".
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 16
2 févr. 2005 à 18:55
Urgo > tu peux me donner les URLs de ces sites? J'avais fait des tests sur des sites trop chargés, sans rien remarquer.
cs_strawberry Messages postés 1 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 11 octobre 2012
11 oct. 2012 à 20:11
Mes commentaires viennent sûrement un peu tard mais je voulais dire à l'auteur du Navigateur Web (RACPP) merci et bravo.
Merci car grâce à lui j'ai compris pas mal de chose sur l'API windows et bravo car son source est clair, propre et très bien commenté. Cela change des exemples de programmes écrit à la rache, brouillons et sans aucun commentaire qu'on trouve fréquemment.

Encore merci à toi RACPP

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.