Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ADD-IN POUR WINDOWS LIVE MESSENGER


Information sur le tutorial

Catégorie :Réseau & Internet Tutorial .NET ( DotNet ) Date de création : 13/05/2006 14:41:15 Vu : 19 998 fois

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (31)
Ajouter un commentaire et/ou une note

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
13 mai 2006 14:44:18 :
Rajout des sources
13 mai 2006 15:02:14 :
Explication plus détaillée
signaler à un administrateur
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

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
Commentaire de Magnal le 16/05/2006 18:18:21

Ok, merci.

signaler à un administrateur
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.

signaler à un administrateur
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 ;)

++

signaler à un administrateur
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???

signaler à un administrateur
Commentaire de jokosman le 01/09/2006 23:27:41

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

signaler à un administrateur
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 ?

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
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 !

signaler à un administrateur
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! :/

signaler à un administrateur
Commentaire de mohman le 27/11/2006 09:48:46

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

signaler à un administrateur
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

signaler à un administrateur
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...

signaler à un administrateur
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 !

signaler à un administrateur
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.

signaler à un administrateur
Commentaire de Egyde le 20/02/2007 12:18:17

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

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
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?????????????,

signaler à un administrateur
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 ^^

signaler à un administrateur
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

signaler à un administrateur
Commentaire de WebLeGrand le 21/04/2008 16:38:28

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

signaler à un administrateur
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

signaler à un administrateur
Commentaire de muad-dib le 21/04/2008 18:07:31

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

signaler à un administrateur
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é ;-)

signaler à un administrateur
Commentaire de WebLeGrand le 29/04/2008 09:31:39

Oui je les ai bien configurer.

signaler à un administrateur
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

signaler à un administrateur
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 ... ? ^^

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,06 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.