rendered paste bodyprocedure SetMusicInfo(show: Boolean; msn_format_string: string; artist: string; title: string; album: string;);
var
udtData: COPYDATASTRUCT;
msn_string: string;
hMSGRUI: LongInt;
buffer: array[0..512] of WCHAR;
begin
msn_string := StrFmt('\0Music\0%d\0%s\0%s\0%s\0%s\0WMContentID',
[Integer(show), msn_format_string, artist, title, album]);
udtData.dwData:= $547;
udtData.lpData:= Integer(PChar(@sBuffer));
udtData.cbData:= Length(sBuffer);
MultiByteToWideChar(CP_ACP, 0, msn_string, -1, buffer, 512);
msndata.dwData = $547;
msndata.cbData = (lstrlenW(buffer)*2)+2;
msndata.lpData = buffer;
do
begin
SendMessage(msnui, WM_COPYDATA, WPARAM(0), LPARAM(@msndata));
end
until msnui = FindWindowEx(NULL, msnui, "MsnMsgrUIManager", NULL);
end;