O que fazem os programadores para fazer um player interagir com o msn?
que linguagem dá pra ser feito isso?
valeu
Interagir Com Menseger
Started By automouse, 02/07/2006, 18:34
1 reply to this topic
#1
Posted 02/07/2006, 18:34
#2
Posted 02/07/2006, 18:56
Qualquer linguagem que suporte chamadas à API do Windows (Visual Basic, Delphi, C++, etc.). Eu faço essa interação, em VB, no meu player (XPlayer)) através de um código que achei na net (coloque-o em um módulo):
Certo?
Graymalkin
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Type COPYDATASTRUCT dwData As Long cbData As Long lpData As Long End Type Private Const WM_COPYDATA = &H4A ' eg: Call SetMusicInfo("artist", "title", "album") ' eg: Call SetMusicInfo("artist", "title", "album", "WMContentID") ' eg: Call SetMusicInfo("artist", "title", "album", , "{1} by {0}") ' eg: Call SetMusicInfo("", "", "", , , False) Public Sub SetMusicInfo(ByRef r_sArtist As String, ByRef r_sAlbum As String, ByRef r_sTitle As String, Optional ByRef r_sWMContentID As String = vbNullString, Optional ByRef r_sFormat As String = "{0} - {1}", Optional ByRef r_bShow As Boolean = True) Dim udtData As COPYDATASTRUCT Dim sBuffer As String Dim hMSGRUI As Long 'Total length can not be longer then 256 characters! 'Any longer will simply be ignored by Messenger. sBuffer = "\0Music\0" & Abs(r_bShow) & "\0" & r_sFormat & "\0" & r_sArtist & "\0" & r_sTitle & "\0" & r_sAlbum & "\0" & r_sWMContentID & "\0" & vbNullChar udtData.dwData = &H547 udtData.lpData = StrPtr(sBuffer) udtData.cbData = LenB(sBuffer) Do hMSGRUI = FindWindowEx(0&, hMSGRUI, "MsnMsgrUIManager", vbNullString) If (hMSGRUI > 0) Then Call SendMessage(hMSGRUI, WM_COPYDATA, 0, VarPtr(udtData)) End If Loop Until (hMSGRUI = 0) End Sub
Certo?
Graymalkin
"Se pudéssemos conhecer todos os percalços do nosso destino, a vida seria tão demasiado cheia de esperança e medo, de louvor e decepção, que não nos deixaria uma única hora de paz verdadeira." (Nathaniel Hawthorne)
Participe você também da campanha "Eu sei escrever!"
Acesse: Graymalkin Software
Participe você também da campanha "Eu sei escrever!"
Acesse: Graymalkin Software
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)