Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 2
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Windows Live Messenger "Was ich gerade höre"


Autor: Tim Hartwig
Sprache: VB.NET
Bewertung: 9
(1 Bewertung)
Anzahl der Aufrufe: 9319
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit dieser Klasse kann man - wie man es vom Windows Media Player kennt - sich in MSN bzw. Windows Live Messenger anzeigen lassen was man gerade hört. Es wird einfach mittels SendMessage ein String-Parameter an den Messenger geschickt und der zeigt den Text dann in das entsprechende Feld "Was ich gerade höre". Diese Funktion muss aber im Messenger aktiviert sein.

Der Aufruf ist einfach (siehe Kommentar)


Abgelegt unter: MSN, WLM, Windows Live, Messenger, Live, Windows.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Imports System.Runtime.InteropServices

Public Class MSNStatusMessage
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ( _
        ByVal hWnd1 As Integer, _
        ByVal hWnd2 As Integer, _
        ByVal lpsz1 As String, _
        ByVal lpsz2 As String) _
    As Integer

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
        ByVal Hwnd As Integer, _
        ByVal wMsg As Integer, _
        ByVal wParam As Integer, _
        ByVal lParam As Integer) _
    As Integer

    Private Const WM_COPYDATA As Short = 74

    Private Structure COPYDATASTRUCT
        Public dwData As Integer
        Public cbData As Integer
        Public lpData As Integer
    End Structure

    Public Enum EnumCategory As Integer
        Music = 0
        Games = 1
        Office = 2
    End Enum

    Public Shared Sub SendStatusMessage(ByVal Enable As Boolean, ByVal Category As EnumCategory, Optional ByVal Message As String = "")
        Dim Data As COPYDATASTRUCT
        Dim Buffer As String = "\0" & Category.ToString + "\0" & IIf(Enable, "1", "0") & "\0{0}\0" & Message & "\0\0\0\0" & Chr(0) & ""
        Dim Handle As Integer = 0

        Data.dwData = 1351
        Data.lpData = VarPtr(Buffer)
        Data.cbData = Buffer.Length * 2

        Handle = FindWindowEx(0, Handle, "MsnMsgrUIManager", Nothing)

        If Handle > 0 Then
            SendMessage(Handle, WM_COPYDATA, 0, VarPtr(Data))
        End If
    End Sub

    Private Shared Function VarPtr(ByVal e As Object) As Integer
        Dim GC As GCHandle = GCHandle.Alloc(e, GCHandleType.Pinned)
        Dim GC2 As Integer = GC.AddrOfPinnedObject.ToInt32
        GC.Free()
        Return GC2
    End Function
End Class
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Tim Hartwig schrieb am:  30.12.2007 14:52:07

Aufruf (Beispiel):
[code=VB]
MSNStatusMessage.SendStatusMessage( _
True, _
MSNStatusMessage.EnumCategory.Music, _
"Artist X - Track 1")
[/code]

Der String "Artist X - Track 1" wird dann im Messenger angezeigt mit einem Kopfhörer-Symbol
Jan Welker schrieb am:  01.01.2008 22:30:02

Dieser Snippet nimmt nicht am aktuellen Snippet-Wettbewerb teil, da Tim Jurymitglied bei diesem Wettbewerb ist.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.