begin process at 2012 02 11 12:07:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimedia

 > CREER SON MSN AVEC DOTMSN

CREER SON MSN AVEC DOTMSN


 Information sur la source

Note :
1 / 10 - par 2 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Multimedia Source .NET ( DotNet ) Classé sous :msn, dotmsn, messenger, xih, chat Niveau :Initié Date de création :14/04/2006 Date de mise à jour :14/04/2006 23:28:16 Vu / téléchargé :36 286 / 953

Auteur : olixelle

Ecrire un message privé
Site perso
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

Bonjour :)
voila, c'est un bout de code qui doit a peu près marcher, c'est mal écrit mais ca montre les bases de l'utilisation de DOt MSN de Xih SOlutions afin de programmer votre propre msn.

NOte importante: je suis pas sur qu'il marche direct, ca fé longtemps que je l'ai pas touché et j'ai la flemme, je le dépose à la demande de chépluki :)

Voila, si ya qqun qui est interressé à reprogrammer ca correctement et mettre à jour cette source, c avec plaisir :)

Pour plus d'infos: http://www.xihsolutions.net/dotmsn/documentation.h tml

Source

  • '*******************************************************************************
  • 'CLASSE POUR GERER LES CONVERSATIONS
  • '*******************************************************************************
  • Public Class cls_conversations
  • 'collection des conversations
  • Public t_conversation As New Hashtable
  • Public Sub add_conversation(ByVal e_contact As DotMSN.Contact, ByRef e_conversation As DotMSN.Conversation)
  • Debug.WriteLine("Création de l'objet cls_conversation avec " & e_contact.Name)
  • Dim obj As New cls_conversation(e_contact, e_conversation)
  • Try
  • Me.t_conversation.Add(e_contact.Mail, obj)
  • Catch ex As Exception
  • Debug.WriteLine("Création déja existante avec " & e_contact.Name)
  • End Try
  • End Sub
  • End Class
  • '*******************************************************************************
  • 'CLASSE CONVERSATION
  • '*******************************************************************************
  • Public Class cls_conversation
  • Public ReadOnly t_ligne As New SortedList
  • Public ReadOnly conversation As DotMSN.Conversation
  • Public Sub New(ByVal e_contact As DotMSN.Contact, ByVal e_conversation As DotMSN.Conversation)
  • Me.conversation = e_conversation
  • Me.add_ligne("", "Conversation commencée avec " & e_contact.Name)
  • End Sub
  • Public Sub add_ligne(ByVal e_contact_name As String, ByVal e_txt As String)
  • Me.t_ligne.Add(Me.t_ligne.Count, e_contact_name & " >> " & e_txt)
  • End Sub
  • Public Function get_all_dialog() As String
  • Dim i As Integer
  • For i = 0 To Me.t_ligne.Count - 1
  • get_all_dialog &= Me.t_ligne(i).ToString & vbCrLf
  • Next
  • End Function
  • End Class
  • Public Class uc_msn
  • Private messenger As DotMSN.Messenger
  • 'login & password pour msn
  • Private login As String
  • Private password As String
  • Private t_conversation As New Hashtable
  • Private current_conversation As String 'mail de la personne avec qui on est en train de parler
  • '*********************************************************************************
  • 'fin
  • Public Sub finish() Implements i_uc_multimedia.finish
  • If Not IsNothing(Me.messenger) Then
  • messenger.CloseConnection()
  • messenger = Nothing
  • End If
  • End Sub
  • '####################################################################################
  • '####################################################################################
  • 'HANDLER POUR DOTMSN.MESSENGER
  • '####################################################################################
  • '####################################################################################
  • '*********************************************************************************
  • 'déclenché qd on est synchronisé, on se met en online
  • Private Sub handler_synchronisation_completed(ByVal sender As DotMSN.Messenger, ByVal e As System.EventArgs)
  • Debug.WriteLine("Synchronisation terminées")
  • Me.messenger.SetStatus(DotMSN.MSNStatus.Online)
  • End Sub
  • '*********************************************************************************
  • 'ajoute un contact qd celui ci se connecte
  • Private Sub handler_contact_online(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ContactEventArgs)
  • Debug.WriteLine(e.Contact.Mail & " s'est connecté. Statut: " & e.Contact.Status)
  • If e.Contact.Status <> DotMSN.MSNStatus.Offline Then
  • 'on vérifie si il est pas déja présent dans la liste
  • 'un chgt de status d'un contact relance une connexion
  • If Me.contact_already_list(e.Contact.Mail) Then
  • Exit Sub
  • End If
  • 'ajout dans la liste des contacts
  • Dim elt As New ListViewItem("")
  • elt.SubItems.Add(e.Contact.Name)
  • elt.Tag = e.Contact
  • 'définit l'image
  • Select Case e.Contact.Status
  • Case DotMSN.MSNStatus.Online
  • elt.ImageIndex = 0
  • Case Else
  • elt.ImageIndex = 1
  • End Select
  • Me.lstv_contact.Items.Add(elt)
  • End If
  • End Sub
  • '*********************************************************************************
  • 'supprime un contact qd il se deconnect
  • Private Sub handler_contact_offline(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ContactEventArgs)
  • Debug.WriteLine(e.Contact.Mail & " s'est déconnecté")
  • Dim elt As ListViewItem
  • For Each elt In Me.lstv_contact.Items
  • If CType(elt.Tag, DotMSN.Contact).Mail = e.Contact.Mail Then
  • elt.Remove()
  • End If
  • Next
  • End Sub
  • '*********************************************************************************
  • 'conversation créée
  • Private Sub handler_conversation_created(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ConversationEventArgs)
  • 'cree les handlers pour les events de la conversation
  • AddHandler e.Conversation.ContactJoin, AddressOf Me.handler_conversation_contact_joined
  • AddHandler e.Conversation.ConnectionEstablished, AddressOf Me.handler_conversation_connection_established
  • AddHandler e.Conversation.UserTyping, AddressOf Me.handler_conversation_user_type_text
  • AddHandler e.Conversation.MessageReceived, AddressOf Me.handler_conversation_message_received
  • AddHandler e.Conversation.AllContactsLeft, AddressOf Me.handler_converation_closed
  • Debug.WriteLine("handler Nouvelle conversation")
  • End Sub
  • '*********************************************************************************
  • 'conversation: contact join
  • Private Sub handler_conversation_contact_joined(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.ContactEventArgs)
  • Debug.WriteLine("handler contact join conversation")
  • Me.create_conversation(e.Contact, sender)
  • End Sub
  • Private Sub handler_converation_closed(ByVal sender As DotMSN.Conversation, ByVal e As System.EventArgs)
  • Debug.WriteLine("Conversation fermée avec ??")
  • End Sub
  • Private Sub handler_list_received(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ListReceivedEventArgs)
  • Debug.WriteLine("Liste recue: " & e.AffectedList.ToString)
  • End Sub
  • '*********************************************************************************
  • 'conversation: connection établie
  • Private Sub handler_conversation_connection_established(ByVal sender As DotMSN.Conversation, ByVal e As System.EventArgs)
  • End Sub
  • '*********************************************************************************
  • 'conversation: user tape du texte
  • Private Sub handler_conversation_user_type_text(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.ContactEventArgs)
  • End Sub
  • '*********************************************************************************
  • 'conversation: réception d'un message
  • Private Sub handler_conversation_message_received(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.MessageEventArgs)
  • 'ajout du texte dans la conversation
  • If Me.t_conversation.ContainsKey(e.Sender.Mail) Then
  • Me.t_conversation.Item(e.Sender.Mail) = Me.t_conversation.Item(e.Sender.Mail) & vbCrLf & e.Sender.Name & ": " & e.Message.Text
  • Else
  • Me.t_conversation.Add(e.Sender.Mail, e.Message.Text)
  • End If
  • 'si c l'user aen cours, on actualise
  • If Me.current_conversation = e.Sender.Mail Then
  • Me.show_current_conversation()
  • Else 'sinon, on met son login en vert
  • Dim elt As ListViewItem
  • For Each elt In Me.lstv_contact.Items
  • If CType(elt.Tag, DotMSN.Contact).Mail = e.Sender.Mail Then
  • elt.ForeColor = Color.Green
  • Exit For
  • End If
  • Next
  • End If
  • Debug.WriteLine(e.Sender.Name & " dit '" & e.Message.Text & "'")
  • End Sub
  • '*********************************************************************************
  • 'dbl click sur un user (lance ou affiche conversation)
  • Private Sub lstv_contact_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstv_contact.DoubleClick, lstv_contact.evt_do_action
  • Dim contact As DotMSN.Contact = CType(Me.lstv_contact.SelectedItems(0).Tag, DotMSN.Contact)
  • Me.create_conversation(contact, Me.messenger.RequestConversation(contact.Mail))
  • 'met en rouge la conversation courante
  • Dim elt As ListViewItem
  • For Each elt In Me.lstv_contact.Items
  • elt.ForeColor = Color.White
  • Next
  • Me.lstv_contact.SelectedItems(0).ForeColor = Color.Red
  • Me.current_conversation = contact.Mail
  • 'affiche la conversation
  • Me.show_current_conversation()
  • Me.txt_msg.Focus()
  • End Sub
  • '*********************************************************************************
  • 'envoi un message
  • Private Sub txt_msg_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_msg.KeyPress
  • If Asc(e.KeyChar) = 13 Then
  • Me.validate_msg()
  • e.Handled = True
  • End If
  • End Sub
  • Private Sub validate_msg()
  • 'parcourt les conversations pour tomber sur la bonne & lance le msg
  • Dim c As DotMSN.Conversation
  • Dim u As DictionaryEntry
  • Dim envoye As Boolean = False
  • For Each c In Me.messenger.Conversations
  • For Each u In c.Users
  • If CType(u.Value, DotMSN.Contact).Mail = Me.current_conversation Then
  • c.SendMessage(Me.txt_msg.Text)
  • Me.t_conversation.Item(CType(u.Value, DotMSN.Contact).Mail) = Me.t_conversation.Item(CType(u.Value, DotMSN.Contact).Mail) & vbCrLf & "Moi: " & Me.txt_msg.Text
  • envoye = True
  • End If
  • Next
  • Next
  • Me.show_current_conversation()
  • Me.txt_msg.Text = ""
  • End Sub
  • '####################################################################################
  • '####################################################################################
  • 'METHODES POUR GERER LES CONVERSATIONS
  • '####################################################################################
  • '####################################################################################
  • '*********************************************************************************
  • 'ajoute la conversation dans t_conversation
  • Private Sub create_conversation(ByVal e_contact As DotMSN.Contact, ByRef e_conv As DotMSN.Conversation)
  • Try
  • Me.t_conversation.Add(e_contact.Mail, "Conversation commencée avec " & e_contact.Mail)
  • Catch ex As Exception
  • End Try
  • 'Me.conversations.add_conversation(e_contact, e_conv)
  • End Sub
  • '*********************************************************************************
  • 'affiche la conversation courante
  • Private Sub show_current_conversation()
  • Me.rtb_discussion.Text = Me.t_conversation.Item(Me.current_conversation)
  • End Sub
  • '*********************************************************************************
  • 'spécifie si un contact est déja dans la liste
  • Private Function contact_already_list(ByVal e_mail As String) As Boolean
  • Dim elt As ListViewItem
  • For Each elt In Me.lstv_contact.Items
  • If CType(elt.Tag, DotMSN.Contact).Mail = e_mail Then
  • Return True
  • End If
  • Next
  • Return False
  • End Function
  • '*************************************************************************************************
  • 'pour ajouter qqchise dans une conversation (juste mettre a jour le hashtable avec le contenu de toutes les conversations
  • Private Function conv_say(ByVal e_mail As String, ByVal e_narrator As String, ByVal e_msg As String) As Boolean
  • 'on vérifie si la conversation existe
  • End Function
  • '*************************************************************************************************
  • 'retourne le mail de l'interlocuteur dans une conversation
  • Private Function get_mail_from_conv(ByRef e_conv As DotMSN.Conversation) As String
  • Dim u As DictionaryEntry
  • For Each u In e_conv.Users
  • Return CType(u.Value, DotMSN.Contact).Mail
  • Next
  • End Function
  • '*************************************************************************************************
  • 'affiche les parametres
  • Public Sub show_parameters() Implements i_uc_multimedia.show_parameters
  • Dim frm_param As New frm_parameters(Me.pref)
  • frm_param.ShowDialog()
  • frm_param.Dispose()
  • End Sub
  • '*************************************************************************************************
  • 'se connecter
  • Private Sub lbl_info_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbl_info.Click, lbl_info.evt_do_action
  • Try
  • 'cree objet msn
  • Me.messenger = New DotMSN.Messenger
  • 'ajout des handlers
  • AddHandler messenger.SynchronizationCompleted, AddressOf Me.handler_synchronisation_completed
  • AddHandler messenger.ContactOnline, AddressOf Me.handler_contact_online
  • AddHandler messenger.ContactOffline, AddressOf Me.handler_contact_offline
  • AddHandler messenger.ConversationCreated, AddressOf Me.handler_conversation_created
  • AddHandler messenger.ListReceived, AddressOf Me.handler_list_received
  • 'connexion
  • Try
  • Me.messenger.Connect(Me.pref.get_param("login"), Me.pref.get_param("password"))
  • Catch ex As Exception
  • 'Me.speak("Impossible de se connecter à msn")
  • Me.lbl_info.Text = "Impossible de se connecter à msn"
  • Exit Sub
  • End Try
  • Me.messenger.SynchronizeList()
  • Catch ex As Exception
  • 'Me.speak("Impossible de se connecter à msn")
  • Me.lbl_info.Text = "Impossible de se connecter à msn"
  • Exit Sub
  • End Try
  • Me.lbl_info.Text = "Connecté en tant que " & Me.messenger.Owner.Mail
  • 'Me.speak("Vous êtes connecté à msn")
  • End Sub
  • End Class
'*******************************************************************************
'CLASSE POUR GERER LES CONVERSATIONS
'*******************************************************************************
Public Class cls_conversations

    'collection des conversations
    Public t_conversation As New Hashtable

    Public Sub add_conversation(ByVal e_contact As DotMSN.Contact, ByRef e_conversation As DotMSN.Conversation)
        Debug.WriteLine("Création de l'objet cls_conversation avec " & e_contact.Name)
        Dim obj As New cls_conversation(e_contact, e_conversation)
        Try
            Me.t_conversation.Add(e_contact.Mail, obj)
        Catch ex As Exception
            Debug.WriteLine("Création déja existante avec " & e_contact.Name)
        End Try
    End Sub

End Class


'*******************************************************************************
'CLASSE CONVERSATION
'*******************************************************************************
Public Class cls_conversation

    Public ReadOnly t_ligne As New SortedList
    Public ReadOnly conversation As DotMSN.Conversation

    Public Sub New(ByVal e_contact As DotMSN.Contact, ByVal e_conversation As DotMSN.Conversation)
        Me.conversation = e_conversation
        Me.add_ligne("", "Conversation commencée avec " & e_contact.Name)
    End Sub

    Public Sub add_ligne(ByVal e_contact_name As String, ByVal e_txt As String)
        Me.t_ligne.Add(Me.t_ligne.Count, e_contact_name & " >> " & e_txt)
    End Sub

    Public Function get_all_dialog() As String
        Dim i As Integer
        For i = 0 To Me.t_ligne.Count - 1
            get_all_dialog &= Me.t_ligne(i).ToString & vbCrLf
        Next
    End Function

End Class

Public Class uc_msn

    Private messenger As DotMSN.Messenger

    'login & password pour msn
    Private login As String
    Private password As String

    Private t_conversation As New Hashtable

    Private current_conversation As String  'mail de la personne avec qui on est en train de parler

    '*********************************************************************************
    'fin
    Public Sub finish() Implements i_uc_multimedia.finish
        If Not IsNothing(Me.messenger) Then
            messenger.CloseConnection()
            messenger = Nothing
        End If
    End Sub

    '####################################################################################
    '####################################################################################
    'HANDLER POUR DOTMSN.MESSENGER
    '####################################################################################
    '####################################################################################

    '*********************************************************************************
    'déclenché qd on est synchronisé, on se met en online
    Private Sub handler_synchronisation_completed(ByVal sender As DotMSN.Messenger, ByVal e As System.EventArgs)
        Debug.WriteLine("Synchronisation terminées")
        Me.messenger.SetStatus(DotMSN.MSNStatus.Online)
    End Sub

    '*********************************************************************************
    'ajoute un contact qd celui ci se connecte
    Private Sub handler_contact_online(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ContactEventArgs)
        Debug.WriteLine(e.Contact.Mail & " s'est connecté. Statut: " & e.Contact.Status)
        If e.Contact.Status <> DotMSN.MSNStatus.Offline Then
            'on vérifie si il est pas déja présent dans la liste
            'un chgt de status d'un contact relance une connexion
            If Me.contact_already_list(e.Contact.Mail) Then
                Exit Sub
            End If

            'ajout dans la liste des contacts
            Dim elt As New ListViewItem("")
            elt.SubItems.Add(e.Contact.Name)
            elt.Tag = e.Contact
            'définit l'image
            Select Case e.Contact.Status
                Case DotMSN.MSNStatus.Online
                    elt.ImageIndex = 0
                Case Else
                    elt.ImageIndex = 1
            End Select
            Me.lstv_contact.Items.Add(elt)
        End If
    End Sub

    '*********************************************************************************
    'supprime un contact qd il se deconnect
    Private Sub handler_contact_offline(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ContactEventArgs)
        Debug.WriteLine(e.Contact.Mail & " s'est déconnecté")
        Dim elt As ListViewItem
        For Each elt In Me.lstv_contact.Items
            If CType(elt.Tag, DotMSN.Contact).Mail = e.Contact.Mail Then
                elt.Remove()
            End If
        Next
    End Sub

    '*********************************************************************************
    'conversation créée
    Private Sub handler_conversation_created(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ConversationEventArgs)
        'cree les handlers pour les events de la conversation
        AddHandler e.Conversation.ContactJoin, AddressOf Me.handler_conversation_contact_joined
        AddHandler e.Conversation.ConnectionEstablished, AddressOf Me.handler_conversation_connection_established
        AddHandler e.Conversation.UserTyping, AddressOf Me.handler_conversation_user_type_text
        AddHandler e.Conversation.MessageReceived, AddressOf Me.handler_conversation_message_received
        AddHandler e.Conversation.AllContactsLeft, AddressOf Me.handler_converation_closed
        Debug.WriteLine("handler Nouvelle conversation")
    End Sub

    '*********************************************************************************
    'conversation: contact join
    Private Sub handler_conversation_contact_joined(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.ContactEventArgs)
        Debug.WriteLine("handler contact join conversation")
        Me.create_conversation(e.Contact, sender)
    End Sub

    Private Sub handler_converation_closed(ByVal sender As DotMSN.Conversation, ByVal e As System.EventArgs)
        Debug.WriteLine("Conversation fermée avec ??")
    End Sub

    Private Sub handler_list_received(ByVal sender As DotMSN.Messenger, ByVal e As DotMSN.ListReceivedEventArgs)
        Debug.WriteLine("Liste recue: " & e.AffectedList.ToString)
    End Sub


    '*********************************************************************************
    'conversation: connection établie
    Private Sub handler_conversation_connection_established(ByVal sender As DotMSN.Conversation, ByVal e As System.EventArgs)

    End Sub

    '*********************************************************************************
    'conversation: user tape du texte
    Private Sub handler_conversation_user_type_text(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.ContactEventArgs)

    End Sub

    '*********************************************************************************
    'conversation: réception d'un message
    Private Sub handler_conversation_message_received(ByVal sender As DotMSN.Conversation, ByVal e As DotMSN.MessageEventArgs)
        'ajout du texte dans la conversation
        If Me.t_conversation.ContainsKey(e.Sender.Mail) Then
            Me.t_conversation.Item(e.Sender.Mail) = Me.t_conversation.Item(e.Sender.Mail) & vbCrLf & e.Sender.Name & ": " & e.Message.Text
        Else
            Me.t_conversation.Add(e.Sender.Mail, e.Message.Text)
        End If

        'si c l'user aen cours, on actualise
        If Me.current_conversation = e.Sender.Mail Then
            Me.show_current_conversation()
        Else    'sinon, on met son login en vert
            Dim elt As ListViewItem
            For Each elt In Me.lstv_contact.Items
                If CType(elt.Tag, DotMSN.Contact).Mail = e.Sender.Mail Then
                    elt.ForeColor = Color.Green
                    Exit For
                End If
            Next
        End If
        Debug.WriteLine(e.Sender.Name & " dit '" & e.Message.Text & "'")
    End Sub

    '*********************************************************************************
    'dbl click sur un user (lance ou affiche conversation)
    Private Sub lstv_contact_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstv_contact.DoubleClick, lstv_contact.evt_do_action

        Dim contact As DotMSN.Contact = CType(Me.lstv_contact.SelectedItems(0).Tag, DotMSN.Contact)
        Me.create_conversation(contact, Me.messenger.RequestConversation(contact.Mail))

        'met en rouge la conversation courante
        Dim elt As ListViewItem
        For Each elt In Me.lstv_contact.Items
            elt.ForeColor = Color.White
        Next
        Me.lstv_contact.SelectedItems(0).ForeColor = Color.Red

        Me.current_conversation = contact.Mail

        'affiche la conversation
        Me.show_current_conversation()

        Me.txt_msg.Focus()

    End Sub

    '*********************************************************************************
    'envoi un message
    Private Sub txt_msg_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_msg.KeyPress
        If Asc(e.KeyChar) = 13 Then
            Me.validate_msg()
            e.Handled = True
        End If
    End Sub

    Private Sub validate_msg()
        'parcourt les conversations pour tomber sur la bonne & lance le msg
        Dim c As DotMSN.Conversation
        Dim u As DictionaryEntry
        Dim envoye As Boolean = False
        For Each c In Me.messenger.Conversations
            For Each u In c.Users
                If CType(u.Value, DotMSN.Contact).Mail = Me.current_conversation Then
                    c.SendMessage(Me.txt_msg.Text)
                    Me.t_conversation.Item(CType(u.Value, DotMSN.Contact).Mail) = Me.t_conversation.Item(CType(u.Value, DotMSN.Contact).Mail) & vbCrLf & "Moi: " & Me.txt_msg.Text
                    envoye = True
                End If
            Next
        Next

        Me.show_current_conversation()
        Me.txt_msg.Text = ""
    End Sub

    '####################################################################################
    '####################################################################################
    'METHODES POUR GERER LES CONVERSATIONS
    '####################################################################################
    '####################################################################################

    '*********************************************************************************
    'ajoute la conversation dans t_conversation
    Private Sub create_conversation(ByVal e_contact As DotMSN.Contact, ByRef e_conv As DotMSN.Conversation)
        Try
            Me.t_conversation.Add(e_contact.Mail, "Conversation commencée avec " & e_contact.Mail)
        Catch ex As Exception

        End Try
        'Me.conversations.add_conversation(e_contact, e_conv)
    End Sub

    '*********************************************************************************
    'affiche la conversation courante
    Private Sub show_current_conversation()
        Me.rtb_discussion.Text = Me.t_conversation.Item(Me.current_conversation)
    End Sub

    '*********************************************************************************
    'spécifie si un contact est déja dans la liste
    Private Function contact_already_list(ByVal e_mail As String) As Boolean
        Dim elt As ListViewItem
        For Each elt In Me.lstv_contact.Items
            If CType(elt.Tag, DotMSN.Contact).Mail = e_mail Then
                Return True
            End If
        Next
        Return False
    End Function

    '*************************************************************************************************
    'pour ajouter qqchise dans une conversation (juste mettre a jour le hashtable avec le contenu de toutes les conversations
    Private Function conv_say(ByVal e_mail As String, ByVal e_narrator As String, ByVal e_msg As String) As Boolean
        'on vérifie si la conversation existe

    End Function

    '*************************************************************************************************
    'retourne le mail de l'interlocuteur dans une conversation
    Private Function get_mail_from_conv(ByRef e_conv As DotMSN.Conversation) As String
        Dim u As DictionaryEntry
        For Each u In e_conv.Users
            Return CType(u.Value, DotMSN.Contact).Mail
        Next
    End Function

    '*************************************************************************************************
    'affiche les parametres
    Public Sub show_parameters() Implements i_uc_multimedia.show_parameters
        Dim frm_param As New frm_parameters(Me.pref)
        frm_param.ShowDialog()
        frm_param.Dispose()
    End Sub

    '*************************************************************************************************
    'se connecter
    Private Sub lbl_info_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbl_info.Click, lbl_info.evt_do_action
        Try

            'cree objet msn
            Me.messenger = New DotMSN.Messenger

            'ajout des handlers
            AddHandler messenger.SynchronizationCompleted, AddressOf Me.handler_synchronisation_completed
            AddHandler messenger.ContactOnline, AddressOf Me.handler_contact_online
            AddHandler messenger.ContactOffline, AddressOf Me.handler_contact_offline
            AddHandler messenger.ConversationCreated, AddressOf Me.handler_conversation_created
            AddHandler messenger.ListReceived, AddressOf Me.handler_list_received

            'connexion
            Try
                Me.messenger.Connect(Me.pref.get_param("login"), Me.pref.get_param("password"))
            Catch ex As Exception
                'Me.speak("Impossible de se connecter à msn")
                Me.lbl_info.Text = "Impossible de se connecter à msn"
                Exit Sub
            End Try
            Me.messenger.SynchronizeList()

        Catch ex As Exception
            'Me.speak("Impossible de se connecter à msn")
            Me.lbl_info.Text = "Impossible de se connecter à msn"
            Exit Sub
        End Try

        Me.lbl_info.Text = "Connecté en tant que " & Me.messenger.Owner.Mail
        'Me.speak("Vous êtes connecté à msn")

    End Sub

End Class


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 avril 2006 19:46:25 :
J'avais oublié de mettre la dll :)
14 avril 2006 23:28:17 :
pour faire plaisir à Pym :)

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) MSN MESSENGER
Source avec Zip Source avec une capture Source .NET (Dotnet) RECHERCHE DE PAROLES DE CHANSONS
Source avec Zip Source avec une capture Source .NET (Dotnet) PICTUREBOX "INTELLIGENT" (DU MOINS PLUS QUE CELUI LIVRÉ EN S...
Source .NET (Dotnet) CONVERTIR ENTITÉS HTML EN CARACTÈRE
Source avec Zip Source avec une capture Source .NET (Dotnet) WEB RADIOS

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MON LECTEUR MP3 par kentharold
Source avec Zip Source avec une capture LECTEUR MULTIMÉDIA par lartiguef
Source avec Zip Source avec une capture RENOMMER SOUS-TITRES par memejoueur
Source .NET (Dotnet) "PARLEUR" EN VB 2010 par clementgeek41
Source avec Zip Source avec une capture CHANGER LE VOLUME SYSTÉME SANS ACTIVEX par kayoub5

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) WINDOWS LIVE MESSENGER PROFIL IMAGE SWITCH par axelpik
Source avec Zip Source avec une capture Source .NET (Dotnet) MSN MESSENGER .NET par banana32
Source avec Zip Source avec une capture Source .NET (Dotnet) MESSENGER ,PROGRAMME CHAT DIRECTEMENT AVEC MON WEB SITE... par half angel
Source avec Zip Source avec une capture MSN COULEUR V2.0 par culie3
Source avec Zip Source avec une capture Source .NET (Dotnet) MSN MESSENGER par olixelle

Commentaires et avis

Commentaire de Pym Corp le 14/04/2006 22:58:57

Purée mais c'est si pénible que ça d'écrire "fait" plutôt que "fé" ou encore "quelqu'un" à la place de "qqun" ?

Tu peux mettre quelques descriptions dans ta source aussi ? "DOt MSN de Xih SOlutions" ça ne me dit rien à moi, et google c'est sympa mais la moindre des choses c'est de bien présenter sa source non ?

Commentaire de olixelle le 14/04/2006 23:26:59

Bonjour Pym,
dans l'absolu tu n'as pas tort sauf que:
- fé & qqun sont compréhensibles, chuis pas un dico en ligne
- effectivement la source est mal commentée et présentée et c'est exactement ce que je mets dans le texte du départ....
- le but étant surtout de donner une base, qd j'aurais le temps je vous mettrais qqchose (zut, quelque chose) de plus complet

voila, sinon merci d'avoir mis un commentaire :)

Commentaire de Willi le 15/04/2006 00:05:25 administrateur CS

Olixelle, attention à ton expression et langage (http://www.vbfrance.com/reglement.aspx).

Remarque:
-On ne dépose pas une source 'à l'arrache'.
-On teste sa source avant de la déposer.

De plus, un zip avec la source serait plus qu'appréciable, car se taper le code pour retrouver les types et les noms des contrôles pour pouvoir tester...


En attendant un petit effort de ta part...je ne commenterais pas ce code.

Commentaire de akina le 17/04/2006 17:44:06

Oui une source par pitié^^330lignes de code sans même donner les composants à ajouter c'est inutilisable...

Commentaire de vpoyo le 18/04/2006 09:29:32

Salut rollerman (Narf),
je bosse aussi sur dotmsn depuis déjà un moment avec interface graphique et tout le toutim ^^.
Par contre j'ai remarqué, que certains évènements comme la réception d'un message, l'ouverture de board, ..., était déclencher deux fois. As tu remarqué ceci ?

Commentaire de olixelle le 18/04/2006 11:36:46

ola,
bon déja après réflexion je fais mon mea culpa a tout le monde, je vous promets une source qui tient mieux la rotue dans peu de temps :)
narf, effectivement des évenements sont déclenchés plrs fois, je n'arrive pas a comprendre pourquoi sauf pour le login de contacts, ceci est du a leur changement de statut
Un autre pb concerne les conversations qui sont fermées de manière intempestive....

Commentaire de OneHacker le 02/07/2006 12:32:19

Merci bien, ca me sera utile ! Par contre pour la référence DotMsn, aurait tu un lien pour trouver cette DLL ?

Bonne continuation

Redman

Commentaire de olixelle le 02/07/2006 15:40:04

Salut :)
j'ai mis à dispo une autre source pour traailler avec dotmsn.
Ya la dll.

Commentaire de OneHacker le 02/07/2006 15:59:34

C'est bon merci, bien j'ai améliorer la source, avec des splitters, de la couleur rouge/verte sur lblinfo(si connecté ou non) et j'ai créer une procédure qui renvoie le contact avec qui on parle actuellement ou son ListViewItem. Ensuite j'ai mis des boutons Bloquer & Débloquer sur le contact de la conversation actuelle.

Voilà Et un peu de couleurs aussi

Redman

Commentaire de olixelle le 02/07/2006 16:19:15

tu as mis la source sur le site ?

Commentaire de OneHacker le 02/07/2006 16:20:11

Non je vais stocker le zip sur mon site et je te passe le lien par MP.

Commentaire de OneHacker le 05/11/2006 09:21:49

Alors ? Pas de réponse ?

Commentaire de OneHacker le 18/11/2006 06:15:22

Bon je vais devoir une nouvelle source vu que tu ne donne pas de réponse.

Redman

Commentaire de OneHacker le 03/12/2006 01:05:46

Comment on fait pour définir l'image de MSN ou la vidéo ?

Commentaire de Moris20 le 05/06/2008 11:34:11

Bonjour a tous,
Alors sa avance cette histoire de msn?

Commentaire de Redman31100 le 06/06/2008 09:58:42

Je suis OneHacker.

Ben nan elle a jamais répondu.

De mon coté j'ai laissé un peu RedMSN et je sais enfin faire un chat et je vais essayer de concurrencer skyrock chat :p

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

msn messenger [ par Badine ] comment programmer une aplication chat internetc a dir le serveur est distant a l autre bout de la planetec a dir il passe a traver les fire wire j ai Le look à la MSN messenger / XP [ par lhalin ] Salut à tous,Savez-vous comment créer des frame avec le look à la MSN MEssenger ou XP, avec les bord arrondis, les couleurs pastels, les ptit boutons Msn Messenger et la foutu programmation [ par Weado ] Bonjour, je vous écris car je voudrai tenté de développer mon msn messenger à moi, mais impossible de partir mon programme, vb arrête à la ligneSet Me MSN chat room [ par [vbtom] ] Bonjour, SI quelqu'un pouvait m'expliquer comment les chat MSN marchent...C'est avec un control Active X mais c'est tout ce que je sais...SI quelqu Chat type MSN [ par Jielde ] Voila je cherche des personnes pour faire un chat type msn, ICQ, Aim,... comme VBfrance Messenger ( dont je ne remerci pas pour n'avoir pas voullu no Rechreche composant MSN messenger!!!!! [ par Amano ] Voilà c'est con mais il me manque la librairie d'MSN messenger et je la trouve pas sur le net.Alors je fais appelle a votre générosité pour m'envoyer MSN Messenger HTTPS [ par benjavd ] Bonjour,Le proxy de ma société ne laisse pas paser le protocole utilisé par MSN messenger. Par contre ICQ fonctionne en HTTPS. Y a-t-il un moyen de co Msn messenger connection [ par SatanCorporation ] jai un problème lors de la connection de msn messenger avec mon programme :le code est :If MSN.LocalState = MSTATE_OFFLINE Then MSN.Logon "pseudo", MSN Messenger [ par RaZoR ] Est ce que quelqu'un sait comment on fait pour changer la limite de caracteres (car on est limité à 400 et il me faudrais bcp plus !! ) de MSN Messeng


Nos sponsors


Sondage...

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,702 sec (4)

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