begin process at 2012 02 16 03:18:16
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Réseau & Internet

 > ADD-IN POUR WINDOWS LIVE MESSENGER

ADD-IN POUR WINDOWS LIVE MESSENGER


 Information sur le tutoriel

Note :
8 / 10 - par 8 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Ce tutorial explique de A à Z ce qu'il faut faire pour créer son premier add-in pour wlm (ancien msn)

Tutorial

1) Nous allons commencer par créer un nouveau projet donc Fichier>Nouveau Projet
Choisissez ensuite dans Visual Basic>Windows    Bibliothèque de classe. Entrer le nom de votre projet que nous appellerons par la suite *le_nom_de_votre_projet* puis validez
2) Vous allez ensuite faire une référence à messengerclient.dll. Pour cela cliquez sur Projet>Ajouter une référence. Dans l'onglet parcourir, saisissez le répertoire de windows live messenger (normallement C:\Program Files\MSN Messenger) et sélectionnez MessengerClient.dll.
3) Avant Public Class Class1, insérez le code suivant:
Imports System
Imports Microsoft.Messenger

4) Remplacez Public Class Class1 par Public Class *le_nom_de_votre_projet*
5) Vous placerez entre Public Class *le_nom_de_votre_projet* et End Class le code suivant:
Implements IMessengerAddIn 'Définie la classe comme un add-in
Private WithEvents Mess As MessengerClient 'Définie Mess comme un
MessengerClient

PublicSub Initialize(ByVal messenger As Microsoft.Messenger.MessengerClient)Implements Microsoft.Messenger.IMessengerAddIn.Initialize 'Lors du chargement du plug-in
Mess = messenger 'Définie l'objet
messenger.AddInProperties.Creator = "*votre_nom*" 'Mettez ici votre nom
messenger.AddInProperties.Description = "*la_description*" 'Mettez ici la description de l'Add-in
messenger.AddInProperties.FriendlyName = "*le_nom_de_ladd_in*" '
Mettez ici le nom de l'add-in
End Sub

PrivateSub Mess_IncomingTextMessage(ByVal sender As Object, ByVal e AsMicrosoft.Messenger.IncomingTextMessageEventArgs) HandlesMess.IncomingTextMessage 'Exécute un action lorsqu'un message arrive
'Si notre statu est absent, on envoie un message à la personne qui nous parle
If(Mess.LocalUser.Status = UserStatus.Away Or Mess.LocalUser.Status =UserStatus.Idle) 'Vérifie si le statu est absent ou inactif
Mess.SendTextMessage(String.Format("Hi{1} ({0}) , Je suis absent pour le moment, réessaye plus tard",e.UserFrom.Email, e.UserFrom.FriendlyName), e.UserFrom)
End If
End Sub

En remplaçant
*votre_nom* par votre nom, *la_description*  par la description de l'adin et *le_nom_de_ladd_in* par son nom
6) Enregistrez votre projet (Fichier>Enregistrer tout) puis générer>générer *le_nom_de_votre_projet*
7) L'option add-in est cachée dans WLM, il faut rajouter une ligne au registre pour la débloquer: démarrer>éxecuter, tapez regedit puis OK. Allez dans HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger. Clique droit dans un endroit vide de la partie de droite>Nouveau>Valeur DWORD et tapez AddInFeatureEnabled.Puis double cliquez dessus, et rentrez 1 puis validez et fermet l'éditeur de registre
8) Lancer wlm outils>option>compléments. Cliquez sur Ajouter à Messenger puis allez chercher votre fichier créé (le repertoire où vous l'avez enregistré\*le_nom_de_votre_projet*\bin\Release\*le_nom_de_votre_projet*.dll)

Ca y est, ça fonctionne, pour le tester, demander à un de vos contacts de vous parler

Sources: http://forum.mess.be/index.php?showtopic=16723
http://www.ekhoury.com/?p=6
http://forum.mess.be/lofiversion/index.php/t16723.html
http://www.fanatic.net.nz/2006/05/11/windows-live-messenger-add-ins-feature.html
http://blogs.msdn.com/katieblanch/archive/2006/05/11/595765.aspx

 Historique

13 mai 2006 14:44:18 :
Rajout des sources
13 mai 2006 15:02:14 :
Explication plus détaillée

Commentaires

Commentaire de sousoulebarbu le 13/05/2006 15:04:29

Si avez des remarques sur ce tutorial ou des compléments d'information, n'hésitez pas à poster un commentaire. Si vous créez un add-in pou wlm, merci de poster le lien dans les comentaires pour que tout le monde puisse en profiter

Commentaire de Magnal le 16/05/2006 09:39:33

Qu'est-ce que fait ce code source ? Une p'tite présentation en quelques mots aurait été sympa.
Merci quand même de partager des infos, astuces etc...
A bientôt.

Commentaire de sousoulebarbu le 16/05/2006 12:56:13

Bin quand tu reçois un message et que tu as pour statu absent, cet add-in envoie un message à ton contact

Commentaire de Magnal le 16/05/2006 18:18:21

Ok, merci.

Commentaire de Malkuth le 15/06/2006 21:25:10

Salut,
Je suis partisant des explications complètes mais je pense que ceux qui n'arriveraient pas à comprendre ce petit bout de code ne devrait pas tenter de faire un add-in pour messenger. Surtout que le code est suffisament commenter.
c'est sympa ca fourni un point de départ pour les amateurs de Live messenger, bonne tutos.

Commentaire de draluorg le 23/07/2006 15:00:26

Salut a tous,

Erf interessant mais il me met l'erreur:
"Le composant ne peut etre charge, verifiez que le nom de sa classe et le nom de son assembly sont identique."
Lors de la tentative d'ajout via WLM :(

Si tu as une idee ce serait cool ;)

++

Commentaire de sousoulebarbu le 23/07/2006 20:30:01

Bin tu es sûr que le nom de la classe qui es après "Public Class" est le même que ce qu'il y a avant le .dll???

Commentaire de jokosman le 01/09/2006 23:27:41

ce tuto est bien mé ou é la differanc avec l'auto mess

Commentaire de muad-dib le 04/09/2006 13:41:27

J'ai le même problème que draluorg. Le nom de l'assembly est pourtant bien le même que celui de la classe. Si tu as trouvé une soluce peux-tu la mettre ici stp ?

Commentaire de Theloleur le 09/09/2006 00:56:28

très bon tuto,
mais comme je ne suis pas très fort en prog, tu pourais m'espliquer comment on peu faire pour que notre AddIn envoi un message (que je défini) uniquement si un programme est lancé (par exemple un jeu)

merci et à pluche

Commentaire de Theloleur le 09/09/2006 00:57:46

Edit : Désolé, je n'avais pas lus la charte donc désolé pour les fautes

Commentaire de jarod68 le 24/09/2006 14:24:13

J'ai reussi a faire marcher ce petit addin, pour le probleme assembly classe, j'ai nommé mon programme ClassLibrary1, ma classe AddIn.vb, et mon assembly ClassLibrary1.AddIn et tout marche niquel, merci pour ce tutorial !

Commentaire de mohman le 27/11/2006 09:05:18

Moi j'ai un problème : quand je vais dans outil option complement, il y a marqué ajouter et tout, mais c'est griser, et les boutons ne sont pas enabled, donc impossible d'improter le projet! :/

Commentaire de mohman le 27/11/2006 09:48:46

EDIT : désolé je n'avais aps redemarrer msn, c'est pour ça.

Commentaire de Jeff_1 le 16/12/2006 15:44:39

et en passant avec le nouveau msn on peut faire un auto-message...pa de chance :-P

Commentaire de sousoulebarbu le 16/12/2006 19:56:06

Je sais, et si tu veux tout savoir
1)Sa s'appelle wlm
2)msg plus live le fait depuis encore plus longtemps
3)Tu t'es pas demandé pourquoi c'était un TUTORIAL et non une source...c'est pour que les gents aprennent et comprennent...

Commentaire de Anotine le 11/02/2007 11:54:23

Très bon tutorial, je t'es mis 10/10 !
Un seul défaut, mais moindre : La mise en forme est un peu compacte ...

Bonne continuation !

Commentaire de Egyde le 20/02/2007 11:39:53

Quelle version de WLM as-tu utilisée? L'onglet "compléments" semble avoir disparu des version 8 (marche pas avec la 8.1.0178 et 8.0.0812), même en rajoutant la clé de registre.

Commentaire de Egyde le 20/02/2007 12:18:17

Il n'apparaît qu'une fois connecté, au temps pour moi. :S

Commentaire de siri le 22/02/2007 00:42:54

Ca ne fonctionne pas.
J'ai une erreur assembly / classe a chaque fois que j'essaye de charger la dll.

Commentaire de whyspee le 03/11/2007 13:34:03

Il manque un truc : le nom de l'assembly doit être : *nomduproj*.*nomdelaclass*   (la classe c'est celle qu'on a changé (Class1).
Ex : Le nom du projet c'est AutoMsg et le code c'est  [...] Public Class AutoMsg [...], eh ben le nom de l'assembly doit être : AutoMsg.AutoMsg

Commentaire de hichamveo le 12/12/2007 12:27:38

slt a vous tous,un problem c'est que je trouve pas l'onglet "compléments" dans wlm 8.5 pour déclarer mon addin?????????????,

Commentaire de jazzdak le 23/01/2008 23:53:24

Bonjour,

Et merci deja pour ce tuto, mais j'aimerais savoir pour quelle version de VB et pour quelle version de WLM il est fait ? J'ai tenter de la faire tourner mais il me met tout un tas d'erreures. Comme par exemple :

Error 1 Class 'ClassLibrary1' must implement 'Sub Initialize(messenger As MessengerClient)' for interface 'Microsoft.Messenger.IMessengerAddIn'. D:\Documents and Settings\The Hunter\Local Settings\Application Data\Temporary Projects\ClassLibrary1\Class1.vb 4 16 ClassLibrary1

Desole si c'est une erreure simple, je me met juste au vb.net habituellement je code en PHP ^^ j'utilise VB 2008 Express Edition sous Win Xp SP2.

Merci d'avance pour votre aide ^^

Commentaire de jazzdak le 25/01/2008 03:12:34

c'est bon plus d'erreure dans le code ca donne ca au final :

Imports System
Imports Microsoft.Messenger
Public Class ClassLibrary1
    Implements IMessengerAddIn 'Définie la classe comme un add-in
    Private WithEvents Mess As MessengerClient 'Définie Mess comme un MessengerClient

    Public Sub Initialize(ByVal messenger As Microsoft.Messenger.MessengerClient) Implements Microsoft.Messenger.IMessengerAddIn.Initialize 'Lors du chargement du plug-in
        Mess = messenger 'Définie l'objet
        messenger.AddInProperties.Creator = "**" 'Mettez ici votre nom
        messenger.AddInProperties.Description = "**" 'Mettez ici la description de l'Add-in
        messenger.AddInProperties.FriendlyName = "**" 'Mettez ici le nom de l'add-in
    End Sub

    Private Sub Mess_IncomingTextMessage(ByVal sender As Object, ByVal e As Microsoft.Messenger.IncomingTextMessageEventArgs) Handles Mess.IncomingTextMessage  'Exécute un action lorsqu'un message arrive
        'Si notre statu est absent, on envoie un message à la personne qui nous parle
        If (Mess.LocalUser.Status = UserStatus.Away Or Mess.LocalUser.Status = UserStatus.Idle) Then 'Vérifie si le statu est absent ou inactif
            Mess.SendTextMessage(String.Format("Hi{1} ({0}) , Je suis absent pour le moment, réessaye plus tard", e.UserFrom.Email, e.UserFrom.FriendlyName), e.UserFrom)
        End If
    End Sub
End Class

Commentaire de WebLeGrand le 21/04/2008 16:38:28

J'ai un peoblème. En fait le dossier "Release" est vide.

Commentaire de WebLeGrand le 21/04/2008 16:44:51

Désolé, je n'avais pas lus la charte donc désolé pour les fautes

Commentaire de muad-dib le 21/04/2008 18:07:31

WebLeGland as-tu bien configuré les propriétés de ton projet ?

Commentaire de dxfantome le 27/04/2008 07:16:26

salut
pour ce qui voudrait automatiser l'install de l'addon
voici les modif que j'ai pu remarqué sur la base de registre:

pour l'installation:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSNMessenger\PerPassportSettings\2097560689\InstalledAddInsList\M.M.dll]
"Type"=hex:01,00,00,00
"AssemblyPath"=hex:43,00,3a,00,5c,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,   ....etc...
"StateObjectStoreName"=""

M.M.dll est le nom que j'avais donner a ma dll
"type" corespond a "je sais pas encore"
assemblypath c'est le chemin d'acces complet a la dll en ascii codé hexa separé par caractere null "00"
stateobject.. corespond a "je sais pas encore"

et pour activer par default l'addon c'est la clef:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSNMessenger\PerPassportSettings\2097560689]

"CurrentAgentAddIn"=hex:43,00,3a,00,5c,00,44,00,6f,00....etc..
y a plus qu'a mettre tout sa dans un fichier .reg ou presque lol
ou taper ds ligne de code pr se qui aimeeeeeeee ;-)

sa correspond au meme chemin d'acces que precedament.

ps dsl si je n'ai pas encore les bonne habitude du forum j'suis un p'tit nouveau donc si quelque chose vat pas suffit de me le faire remarqué ;-)

Commentaire de WebLeGrand le 29/04/2008 09:31:39

Oui je les ai bien configurer.

Commentaire de dkebe le 28/05/2008 16:25:46

Bjr WebLeGrand, en fait aprés enregistrement de ton projet il faut cliquer sur Générer dans le menu pour voir ton dll dans le dossier Release

Commentaire de The Meteorologist le 06/07/2008 03:03:48

dxfantome, c'est vraiment sympathique de ta part d'avoir partagé tes observations sur l'installation de l'add-in et je pense qu'une source regroupant add-in et auto-installation serait fort appréciée sur le forum ... ? ^^

Commentaire de mohman le 24/01/2009 19:24:29

Le tuto ne semble pas focntionner avec le nouveau wlm :(

Commentaire de Maknash le 24/10/2009 21:11:04

Salut à tous,
Visiblement MOHMAN a raison, ça ne fonctionne plus avec la nouvelle version :(
Y a-t-il une nouvelle version qui existe déjà?
Merci d'avance

Commentaire de mohman le 24/10/2009 21:23:45

Nan je pense que c'est foutu, mais depuis je me suis tourné vers msn plus! qui permet d'écrire de bons petit script assez facilement :)

Commentaire de Maknash le 24/10/2009 21:30:50

Tu as de bons tutos pour ça ?

Commentaire de mohman le 24/10/2009 21:33:09

En cherchant sur google j'avais trouvé la doc et quelques script, c'est une sorte de javascript en fait :)

Commentaire de Maknash le 24/10/2009 21:35:36

Ok thx je vais aller voir ça

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales