procedure SetMusicInfo(show: Boolean; msn_format_string: string; artist: string; title: string; album: string;); var msndata: COPYDATASTRUCT; msn_string: string; msnui: HWND; 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]); MultiByteToWideChar(CP_ACP, 0, msn_string, -1, buffer, 512); msndata.dwData := $547; msndata.cbData := (lstrlenW(buffer)*2)+2; msndata.lpData := buffer; do begin msnui := FindWindowEx(NULL, msnui, "MsnMsgrUIManager", NULL) SendMessage(msnui, WM_COPYDATA, WPARAM(0), LPARAM(@msndata)); end until msnui = 0; end;