Как я могу использовать функцию «Что я слушаю» в Windows Live Messenger? Как я могу связаться с WLM для отправки информации о песне, чтобы Messenger мог установить статус? Я пишу в C ++ (Qt)
Я искал всю сеть, но ничего не нашел об этом, даже на других языках программирования.
РЕДАКТИРОВАТЬ:
Похоже, я не прояснил себя. Я не хочу прохождение. Я хочу знать, есть ли API, или библиотека, или что-то еще, чтобы взаимодействовать с Windows Live Messenger для использования этой функции, как это делают медиаплееры, такие как WMP, Winamp и iTunes.
Я искал API Live Connect, но ничего не нашел по этому поводу.
Поскольку существует много проектов с открытым исходным кодом, реализующих эту функцию, которые вы можете проверить (например, MPC-HC, PsyMP3, Songbird … и т. Д.), Я просто объясню, как это делается:
Сначала вы создаете строку Unicode, которая выглядит следующим образом:
Игрок \ 0Type \ 0Playing \ 0Format \ 0Artist \ 0Type \ 0Album \ 0GUID \ 0
(\ 0 не NUL, поэтому обязательно избегайте их)
A3FPlayer: {1} - {0}
Затем вы создаете COPYDATASTRUCT следующим образом:
COPYDATASTRUCT data;
data.dwData = 0x0547; //1351 decimal
data.lpData = (PVOID)(LPCWSTR)MsnMsg;
data.cbData = MsnMsgSize * 2 + 2;
И, наконец, передать эту структуру MsnMsgrUIManager
ручка, которую вы найдете с FindWindowEx
:
HWND hWnd = FindWindowEx(NULL, NULL, L"MsnMsgrUIManager", NULL);
SendMessage(hWnd, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&data);
a3f дает замечательный ответ с небольшим количеством кода. Тем не менее, если вы находите его ответ немного запутанным, вот какая-то ссылка на «API», которую я написал, когда писал код интерфейса для PsyMP3. Единственное, что я хотел бы сказать, это то, что я написал бы часть GUID как «WMContentID», поскольку именно это я видел, когда Windows Media Player передавал в MSN, когда я отслеживал сообщения окна с помощью WinSpy.
В любом случае, моя документация для рассматриваемого интерфейса находится здесь: