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
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 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