procedure SetMusicInfo(show: Boolean; msn_icon:string; 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 := Format('\0%s\0%d\0%s\0%s\0%s\0%s\0WMContentID', [msn_icon,Integer(show), msn_format_string, artist, title, album]); msn_string := msn_string + #0; MultiByteToWideChar(CP_ACP, 0, PChar(msn_string), -1, buffer, 512); msndata.dwData := $547; msndata.cbData := (lstrlenW(buffer)*2)+2; msndata.lpData := Integer(@buffer); //Initialize the variable fool!!!!!!111111ONEONEELEVEN msnui:=0; repeat begin msnui := FindWindowEx(0, msnui, 'MsnMsgrUIManager', ''); //ShowMessage(IntToStr(msnui)); SendMessage(msnui, WM_COPYDATA, WPARAM(0), LPARAM(@msndata)); end until msnui = 0; end;