Stagiaire WDF
Inscrit: 29/01/2009 19:00
Post(s): 13
|
salut
merci de ce dbut de réponse. faute de mieux, j'ai gratté un peu et j'ai trouvé un code vb.
/// Option Explicit
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
Public Sub SetMusicInfo(Artist As String, Album As String, Title As String) Dim Data As COPYDATASTRUCT Dim sBuffer As String Dim msn As Long
'Total length can not be longer then 256 characters! sBuffer = "\0Music\01\0{0} - {1}\0" & Trim(Artist) & "\0" & Title & "\0" & Album & "\0\0" & vbNullChar
Data.dwData = &H547 Data.lpData = StrPtr(sBuffer) Data.cbData = LenB(sBuffer) Do msn = FindWindowEx(0&, msn, "MsnMsgrUIManager", vbNullString) If (msn > 0) Then Call SendMessage(msn, WM_COPYDATA, 0, VarPtr(Data)) Loop Until (msn = 0) End Sub
Sub Test() SetMusicInfo "mimi", "Album", "leTitre" End Sub
///
que j'ai tenté de convertir (j'arrivais déjà à récupérer le handle de msn):
stData est une structure dwData est un entier cbData est un entier lpData est un entier FIN
stMsnData est un stData sBuffer est un Buffer
sBuffer = "\0Music\01\0{0} - {1}\0" +sArtiste + "\0" + sTitre + "\0" + sAlbum + "\0\0" stMsnData:dwData = cst_data stMsnData:lpData = Val(sBuffer) stMsnData:cbData = Taille(sBuffer)
BOUCLE SendMessage(nHandleMsn,WM_COPYDATA,0,&stMsnData)
A FAIRE TANTQUE nHandleMsn <> 0
Pb : rien ne se passe. ni meme de bug !
des pistes? merci
Contribution le : 07/02/2009 11:46
|