Lorsque l’on a besoin d’intégrer un navigateur web dans une création logicielle, en général on utilise l’activex Microsoft Web Browser car il est proposé par défaut dans plusieurs agl du marché comme Windev.
Cet activex est en fait une version embarqué de Internet Explorer (moteur trident) et bien qu’il suffise dans la plupart des cas, parfois il lui manque certaines fonctionnalités qui elles sont bien présentes dans d’autres navigateurs.
Firefox, lui utilise le moteur Gecko qui sert aussi à XULRunner (wikipedia : logiciel libre qui sert comme environnement d’exécution d’applications XUL. Il permet donc de lancer des applications écrites en XUL sans avoir besoin d’installer Mozilla ou Firefox).
Le truc c’est que XULRunner, fournit mozctlx.dll, une dll qui est très intéressante puisqu’elle contient l’activex MozillaBrowser Class qui cerise sur le gâteau, s’utilise exactement de la même façon que son homologue de chez Microsoft.
Pour intégrer le moteur Gecko dans vos applications :
- téléchargez XULRunner ici (prenez la dernière version win32 dans /runtimes…)
- décompressez le zip dans programfiles par exemple
- déclarez la dll mozctlx.dll à votre Windows en faisant un regsvr32 mozctlx.dll
par exemple en ligne de commande :
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
C:\Windows\system32>cd « \Program Files »
C:\Program Files>cd xulrunner
C:\Program Files\xulrunner>regsvr32 mozctlx.dll
C:\Program Files\xulrunner>_
Vous devriez obtenir un truc ressemblant à :

Attention sous Vista ou Seven vous devez exécuter ces commandes en tant que administrateur sinon vous aurez un message d’erreur.

Quand tout est ok, ouvrez votre ide/agl préféré et incorporez l’activex MozillaBrowser Class à votre projet.
Exemple pour Windev :
- Créez une nouvelle fenêtre vierge, et faites insertion > champ > activex
- Placez l’activex MozillaBrowser Class, un champ de saisie et 3 boutons comme suit
ici l’activex est en vert et se nomme AX_xulrunner, le champ de saisie se nomme SAI_url et les boutons BTN_go, BTN_precedent, BTN_suivant
le code du bouton BTN_go est :
AX_xulrunner>>Navigate2 (SAI_url)
DonneFocus(AX_xulrunner)
celui de BTN_precedent :
AX_xulrunner>>GoBack
et celui de BTN_suivant :
AX_xulrunner>>GoForward
C’est finit, lancez l’exécution et admirez le résultat :














