= = Introduction ==
Le but de ce tutorial est de vous apprendre à insérer un fichier .swf ( fichier flash animé ) dans un dialog mIRC simple...
Ceci peut paraitre compliqué à première vue mais se révèle plutôt simple avec l'aide de deux dlls : nHTMLn_2.95.dll et mdx.dll.
Ces deux dlls servent à :
- nHTMLn_2.95.dll : permettra d'afficher une page html ( on verra pourquoi dans la suite de ce tutorial ) dans un window ( @win) de mIRC.
- mdx.dll : permettra d'afficher l'image de cette @win dans un dialog mIRC simple.
Manipulation à réaliser absolument pour pouvoir utiliser les deux dlls cités ci-dessus :
Il vous faut placer votre image.swf dans un document.html
Pour cela, vous pouvez utiliser un logiciel comme Dreamweaver ou simplement le Bloc-Notes :)
Utilisation de nHTMLn_2.95.dll :
Il vous faut absolument le dll pour pouvoir l'utiliser, je mets à votre disposition celle-ci dans le Tutorial-Swf.zip .
Passons maintenant à l'étape qui nous intéresse : faire apparaitre dans une fenêtre @win notre page.html préalablement éditée.
Pour cela, le code ci-dessous vous permettra de créer un navigateur dans une @win et d'afficher la page web dans cette dernière.
alias votre-alias {
var %x = Chemin de votre page html
window -p @MaFenetre
echo -a $dll(nHTMLn_2.95.dll,attach,$window(@MaFenetre).hwnd)
echo -a $dll(nHTMLn_2.95.dll,navigate,%x)
}
Si votre code est bon, le dll renverra un message "S_OK", si vous souhaitez éviter ceci remplacer le code ci-dessous :
echo -a $dll(nHTMLn_2.95.dll,attach,$window(@MaFenetre).hwnd)
echo -a $dll(nHTMLn_2.95.dll,navigate,%x)
Par :
.echo -q $dll(nHTMLn_2.95.dll,attach,$window(@MaFenetre).hwnd)
.echo -q $dll(nHTMLn_2.95.dll,navigate,%x)
Utilisation de mdx.dll :
Nous allons détailler le code ci-dessous pour une bonne compréhension de tous :
On *:dialog:MonDialog:init:*:{
dll mdx SetMircVersion $version
dll mdx MarkDialog $dname
dll mdx.dll SetControlMDX $dname 1 Window > dialog.mdx
did -i $dname [ID * 1 grab $window(@MaFenetre).hwnd @MaFenetre
}
Ligne 1 : Initialisation du dialog ( éléments qui vont se dérouler au lancement du dialog )
Ligne 2-3 : Commandes obligatoires pour faire fonctionner le dll.
Ligne 4 : Appel de de dialog.mdx , fonction utilisée par mdx.dll et qui nous intéresse ici :)
: On affiche la @MaFenetre dans le dialog à l'id voulue mais ATTENTION obligatoirement être un button sans options ( cela signifie qu'il ne doit pas être default, ok ou cancel ).
Résumé
Si vous avez suivi toutes les manipulations décrites vous devriez réussir à afficher votre image.swf sans problème.
Je vais vous donner un exemple entier :)
Exemple
J'ai l'image flash suivante que je voudrais afficher dans un dialog mIRC :
http://www.sorn-creation.org/ircfr/matrix.swf
Je commence donc par introduire cette image dans une page.html vide.
Ensuite, j'utilise le premier dll, nHTMLn_2.95.dll et j'arrive à produire le code suivant :
alias matrix {
var %x = C:\Documents and Settings\Erik\Bureau\Matrix.html
window -p @matrix
echo -a $dll(nHTMLn_2.95.dll,attach,$window(@matrix).hwnd)
echo -a $dll(nHTMLn_2.95.dll,navigate,%x)
}
En faisant /matrix , je m'apercois que la page html est bien chargée dans ma @matrix :)
Puis je décide de passer a la dernière étape avec mdx.dll et je produis le code suivant :
On *:dialog:Matrix:init:*:{
matrix
dll mdx SetMircVersion $version
dll mdx MarkDialog $dname
dll mdx.dll SetControlMDX $dname 1 Window > dialog.mdx
did -i $dname 1 1 grab $window(@matrix).hwnd @matrix
}
On peut rajouter un petit alias pour permettre l'ouverture rapide du dialog :
alias flash-matrix { dialog -m Matrix Matrix }
Bien sur on aura créer un dialog du nom de Matrix avec une taille proportionnelle à celle dont on veut afficher l'image flash :)
J'arrive, non sans peine ( différents réglages au niveau taille etc.. ) à obtenir ceci :
http://www.sorn-creation.org/ircfr/matrix.jpg
J'ai agrandi l'image de départ pour avoir un affichage aussi gros mais bon le résultat est là : je suis parti d'une image.swf flash et j'arrive à la regarder dans un dialog mIRC simple. Génial non ? :)
J'ai fais ce tutorial pour vous permettre de réaliser l'objectif simplement et vous montrer une nouvelle possibilité de mIRC, néanmoins celle-ci nécessite l'utilisation de deux .dll. Bref, j'espère que vous aurez bien compris ce tutorial.
Bon scripting à tous :-)
Erik ©