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