#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);
}
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=19&topic_id=6130&post_id=24546