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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2