|
Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/06/2004 09:31
De Paris
Post(s): 40
|
Bonjour, Je cherches à afficher dynamiquement le morceau de musique en cours de lecture dans MSN
COPYDATASTRUCT est une structure
dwData est un entier
cbData est un entier
lpData est un entier
FIN
lpCOPYDATASTRUCT est une COPYDATASTRUCT
hHandleMSN est un entier
lsArtiste est une chaîne="Depeche Mode"
lsTitre est une chaîne="Everything Counts"
lsAlbum est une chaîne="101"
//WM_COPYDATA=0x004A
xTampon est une chaîne="\0Music\01\0{0} - {1}\0" + lsArtiste + "\0" + lsTitre + "\0" + lsAlbum + "\0\0" +Caract(0)
hHandleMSN=API("user32.dll","FindWindowExA", Null, Null, "MsnMsgrUIManager", Null)
SI hHandleMSN<>0 ALORS
lpCOPYDATASTRUCT:dwData=0x0547
lpCOPYDATASTRUCT:cbData=Taille(xTampon)
lpCOPYDATASTRUCT:lpData=&xTampon
API("user32.dll","SendMessageA", hHandleMSN, WM_COPYDATA, 0, &lpCOPYDATASTRUCT)
//SendMessage(hHandleMSN,WM_COPYDATA,0,&lpCOPYDATASTRUCT)
FIN
Si quelqu'un à une idée ou voit une erreur dans le code merci de m'en faire part. Cordialement, Philippe
Contribution le : 03/03/2009 07:40
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/06/2004 09:31
De Paris
Post(s): 40
|
Bonsoir, Je n'ai pas trouvé la solution en Windev mais voici le code c++ pour mettre à jour les infos MSN à partir du morceau en cours de lecture
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include "config2.h"
#define MSNMusicString L"\\0Music\\0%d\\0%s\\0%s\\0%s\\0%s\\0%s\\0"
#define MSNOfficeString L"\\0Office\\0%d\\0\\0\\0\\0\\0%s\\0"
#define MSNFormat L"{0} - {1} - {2}"
COPYDATASTRUCT msndata;
void _stdcall pMsnUpdate(WCHAR* pArtiste, WCHAR* pTitre, WCHAR* pAlbum)
/*
<PROTOTYPE>
pMsnUpdate
<BACKUS-NAUR>
<Résultat> = pMsnUpdate(<Artiste>,<Titre>,<Album>)
<COMMENT>
Update les données de MSN
<DEBUG>
Artiste est une chaine UNICODE="Depeche Mode"
Titre est une chaine UNICODE="Everything Counts"
Album est une chaine UNICODE="101"
_T("pMsnUpdate="+API(gsDllPath, "pMsnUpdate",Artiste,Titre,Album))
*/
{
WCHAR buffer[500];
HWND msnui = NULL;
bool bshow = 1;
wsprintfW(buffer, MSNMusicString, bshow, MSNFormat, pTitre, pArtiste, pAlbum, L"WMContentID");
msndata.dwData=0x547;
msndata.cbData = (lstrlen(buffer)*2)+2;
msndata.lpData = &buffer;
msnui = (HWND)FindWindowEx(NULL, NULL, (LPCWSTR)L"MsnMsgrUIManager", NULL);
if (msnui) SendMessage(msnui, WM_COPYDATA, (WPARAM)0, (LPARAM)&msndata);
}
void __stdcall pMsnReset()
/*
<PROTOTYPE>
pMsnReset
<BACKUS-NAUR>
<Résultat> = pMsnReset()
<COMMENT>
Remet à blanc les données de MSN
<DEBUG>
_T("pMsnReset="+API(gsDllPath, "pMsnReset")
*/
{
WCHAR buffer[500];
HWND msnui = NULL;
bool bshow = 0;
wsprintfW(buffer, MSNOfficeString, bshow, MSNFormat, L"WMContentID");
msndata.dwData=0x547;
msndata.cbData = (lstrlen(buffer)*2)+2;
msndata.lpData = &buffer;
msnui = (HWND)FindWindowEx(NULL, NULL, (LPCWSTR)L"MsnMsgrUIManager", NULL);
if (msnui) SendMessage(msnui, WM_COPYDATA, (WPARAM)0, (LPARAM)&msndata);
}
Bon Dev Philippe Mp3Tools
Contribution le : 03/03/2009 23:37
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/06/2004 09:31
De Paris
Post(s): 40
|
Bonjour, Encore une petite demande, reste plus qu'à modifier l'image dans MSN si quelqu'un à une idée (en c++ ou autre) merci de bien vouloir nous faire partager cette ressource. Cordialement, Philippe Mp3Tools
Contribution le : 04/03/2009 01:13
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/01/2009 19:00
Post(s): 13
|
bonjour
je m'étais posé la même question il y a qq semaines.
restée en suspens de mon coté faute d'élément et de connaissance de ma part.
j'étais arrivé à un code mais qui ne faisait rien (pas même de bug !).
je suis tjs intéressé. et question subsidiaire, ce code en c++ fonctionne t'il avec d'autres clients de messagerie instantanée (comme par exemple pidgin, ex gaim) ?
On m'a orienté sur le sdk de msn, mais justement ce truc ne va fonctionner que pour msn. enfin j'imagine.
en tout cas, merci à tous, si ce futilitaire avance !
Contribution le : 04/03/2009 09:20
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/06/2004 09:31
De Paris
Post(s): 40
|
Bonsoir,
Ce code ne fonctionne qu'avec MSN Live (version 2009 incluse).
Si quelqu'un a une piste pour modifier l'avatar cela m'interesse...
Cordialement,
Philippe
Contribution le : 05/03/2009 00:53
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/01/2009 19:00
Post(s): 13
|
Tu as réussi avec windev ?
Contribution le : 05/03/2009 08:02
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/06/2004 09:31
De Paris
Post(s): 40
|
Bonjour, A vrai dire j'ai laissé tomber... J'ai réussi en c++ et comme j'ai déporté les fonctions délicates de mon programme Windev dans une dll en c++ pas la peine de me prendre le choux. Mais je pense que si la fonction ChaineConstruit() acceptait de l'Unicode alors cela serait possible de traduire facilement ce code. CDT Philippe http://www.qpratools.com
Contribution le : 05/03/2009 14:25
|
|
|
Re: Afficher le morceau en cours de lecture dans MSN |
|
Stagiaire WDF
Inscrit: 29/01/2009 19:00
Post(s): 13
|
ah ok.
en même temps, je viens de tester : sous windows xp sp3 + windows media player + windows live messenger. et qd tout est configuré. Il ne se passe rien.
Finalement mon code fonctionne peut etre aussi bien que celui de WLM pour windows media player!!
en revanche J'ai un exe en delphi qui lui, cependant fait fonctionné ce truc. L'auteur devrait peut etre aller bosser chez microsoft!
Contribution le : 05/03/2009 17:10
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|