Oppure

Loading
18/11/09 17:39
Antivirusvivente
Ciao a tutti, avrei la necessita di integrare nel mio progetto di un programma scritto in vb.NET con visual studio 2008, la dll interop.messengerapi.dll, che purtroppo non riesco a trovare. Qualcuno di voi se la ritrova e sarebbe così gentile da upparla in rete e passarmela?

Con la dll devo fare in modo di visualizzare sul messaggio personale come quando ascoltiamo la musica di mediaplayer, solo con un'altra frase letta da una variabile determinata dal programma.

Ringrazio anticipatamente
aaa
19/11/09 18:30
noitide
Postato originariamente da Antivirusvivente:

Ciao a tutti, avrei la necessita di integrare nel mio progetto di un programma scritto in vb.NET con visual studio 2008, la dll interop.messengerapi.dll, che purtroppo non riesco a trovare. Qualcuno di voi se la ritrova e sarebbe così gentile da upparla in rete e passarmela?

Con la dll devo fare in modo di visualizzare sul messaggio personale come quando ascoltiamo la musica di mediaplayer, solo con un'altra frase letta da una variabile determinata dal programma.

Ringrazio anticipatamente

allora mi pare ke interop.messengerapi.dll è antiquata.. se hai installato l'ultimo msn disponibile basta ke crei un nuovo progetto, vai su aggiungi riferimento e nelle schede in alto selezioni COM e poi cerchi Messenger API Type Library. la aggiungi e poi fai
Imports MessengerAPI

Dim prova as new messenger

e poi utilizzi prova. come desideri ;)
aaa
19/11/09 22:36
Antivirusvivente
Esattamente come hai detto tu, ora però mi trovo con un problema, devo cambiare il messaggio personale di messenger come se stessi sentendo la musica, ho utilizzato il seguente codice, ma cosa c'è di errato?

Imports MessengerAPI
Public Class Form1


    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Object) As Integer
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal hpvDest As Object, ByVal hpvSource As Object, ByVal cbCopy As Integer)

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

    Const WM_COPYDATA = &H4A

    Private Sub ChangeSong(ByVal Song As String)

        ' Declarations
        Dim sString As String
        Dim lHwnd As Integer
        Dim cds As COPYDATASTRUCT
        Dim buf(255) As Byte

        ' Check string
        sString = Trim$(Song)
        If sString = "" Then Exit Sub

        ' Get the handle of the target application.
        lHwnd = FindWindow("MsnMsgrUIManager", vbNullString)

        ' Copy the string into a byte array,
        ' converting it to ASCII. Assign lpData
        ' the address of the byte array.
        Call CopyMemory(buf(0), sString, Len(sString))
        With cds
            .dwData = 3
            .cbData = Len(sString) + 1
            .lpData = CType(buf(0), IntPtr)
        End With

        ' Send the string.
        Call SendMessage(lHwnd, WM_COPYDATA, Me.Handle, cds)

    End Sub



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Change the song
        ChangeSong("textgoeshere")

    End Sub
End Class
aaa
20/11/09 12:02
Il Totem
Ma... a cosa ti serve MessengerAPI se poi utilizzi SendMessage? :-|
aaa
20/11/09 13:01
Antivirusvivente
E' questo il problema, ieri sera ho smanettato un pò con il codice delle API di messenger. ed ho notato che non c'è nulla da fare. L'unica cosa da fare sarebbe utilizzare quel sendmessage.. ma non so cosa non lo fa funzionare
aaa
21/11/09 10:09
Il Totem
Beh, io ti avevo avvertito :pat:
aaa