Messenger API Type Library Tutorial

    • VB.NET

    Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

      Messenger API Type Library Tutorial

      Heyho,
      da hier viel nach der Messenger API gefragt wird, will ich hier mal ein Beispiel / Tutorial Posten um den Umgang mit dieser dll mal kennenzulernen.

      Für dieses Tutorial braucht ihr:
      eine Form (Form1),
      2 Buttons (Button1, Button2)
      2 Listboxen(ListBox1, ListBox2)
      1 Label (Label1)
      Den Verweis auf die Messenger API Type Library (Reiter COM unter Verweis hinzufügen...)


      Der Sourcecode erklärt dann alles.

      VB.NET-Quellcode

      1. 'Messenger API Type Library als Verweis(COM) hinzufügen nicht vergessen.
      2. Public Class Form1
      3. Dim WithEvents msn As New MessengerAPI.Messenger 'Instanz von Messenger erstellen
      4. 'Beispiel 1:
      5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      6. 'Gibt euren Namen, den ihr im MSN eingegeben habt in ein Label zurück.
      7. Label1.Text = msn.MyFriendlyName
      8. End Sub
      9. 'Beispiel 2:
      10. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      11. 'Alle kontakte anzeigen.
      12. 'Als Spielerei: Bei geblockten ein (blocked) hinten ransetzen.
      13. For Each item As MessengerAPI.IMessengerContact In msn.MyContacts
      14. Dim blocked As String = ""
      15. If item.Blocked Then
      16. blocked = " - blocked"
      17. End If
      18. ListBox1.Items.Add(item.SigninName & blocked) 'Listbox mit Kontakten füllen
      19. Next
      20. End Sub
      21. 'Was aber eine bessere Möglichkeit ist:
      22. 'Da WithEvents verwendet wurde, kann man besser mit den Events arbeiten, z.B.:
      23. #Region "Beispiel 3: einen Log in Listbox2 schreiben!!!"
      24. 'Hier werde ich 1 Beispiel geben, wie z.B. etwas protokolliert wird, was im MSN so vor sich geht.
      25. 'Wenn man das Prinzip dann verstanden hat, ist vieles Möglich mit der API, nun weiter zum Beispiel.
      26. Private Sub msn_OnContactBlockChange(ByVal hr As Integer, ByVal pContact As Object, ByVal pBoolBlock As Boolean) Handles msn.OnContactBlockChange
      27. Try
      28. 'Da pContact als Objekt erstellt wird, übergeben wir es an einer Variable vom typ IMessengerContact
      29. 'um es übersichtlicher zu machen
      30. Dim c As MessengerAPI.IMessengerContact = pContact
      31. Dim curr As String = Format(Now, "dd MM yyyy, hh:mm:ss")
      32. Dim msg As String = ""
      33. If pBoolBlock Then 'Wurde der Kontakt geblockt?
      34. msg = curr & " - " & c.FriendlyName & " wurde geblockt."
      35. Else
      36. msg = curr & " - " & "Die Blockierung von " & c.FriendlyName & " wurde aufgehoben."
      37. End If
      38. Me.Invoke(New AddLogItemDelegate(AddressOf AddLogItem), msg) 'Über Delegaten auf Listbox zugreifen, da Threadübergreifend
      39. Catch ex As Exception
      40. MessageBox.Show(ex.Message)
      41. End Try
      42. End Sub
      43. Delegate Sub AddLogItemDelegate(ByVal item As String) 'Code nicht von mir
      44. Private Sub AddLogItem(ByVal item As String) 'Code nicht von mir
      45. ListBox2.Items.Add(item) 'msg von OnContactBlockChange hier übergeben
      46. End Sub
      47. #End Region
      48. End Class


      Gern helfe ich auch weiter bei Problemen..

      Übrigens: Das Tutorial ist nicht 100% getestet nur mal schnell rübergelaufen. Falls dann Fehler doch vorhanden sein sollten, bitte melden.
      "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „milaim“ ()

      meiner ansicht nach nichts brauchbares :/
      kann es daran liegen, dass ich die beta habe, also windows live messenger 2010?

      Edit: ach, egal, is ja net so das ich es dringend benötige

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xSMiNTx“ ()

      dann poste lieber mal, mehrere Meinungen sind immer besser...
      evtl. macht dir dei IDE sogar einen Vorschlag, wie du es besser machen könntest?->Screenshot?
      evtl. fehlt einfach noch einmal "MessengerAPI."?
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---