Функция Windows Live Messenger "Что я слушаю"
Как я могу использовать функцию "Что я слушаю" в Windows Live Messenger? Как я могу связаться с WLM для отправки информации о песне, чтобы Messenger мог установить статус? Я пишу в C++ (Qt)
Я искал всю сеть, но ничего не нашел об этом, даже на других языках программирования.
РЕДАКТИРОВАТЬ:
Похоже, я не прояснил себя. Я не хочу прохождение. Я хочу знать, есть ли API, или библиотека, или что-то еще, чтобы взаимодействовать с Windows Live Messenger для использования этой функции, как это делают медиаплееры, такие как WMP, Winamp и iTunes.
Я искал API Live Connect, но ничего об этом не нашел.
2 ответа
Поскольку существует много проектов с открытым исходным кодом, реализующих эту функцию, которые вы можете проверить (например, MPC-HC, PsyMP3, Songbird ... и т. Д.), Я просто объясню, как это делается:
Сначала вы создаете строку Unicode, которая выглядит следующим образом:
Игрок \ 0Type \ 0Playing \ 0Format \ 0Artist \ 0Type \ 0Album \ 0GUID \ 0
(\ 0 не NUL, поэтому обязательно избегайте их)
- Player: имя вашего музыкального плеера
- Тип: Тип носителя, здесь: "Музыка"
- Игра: 1 для игры, 0 для остановки
- Формат: строка рядом с "Сейчас играет", например:
A3FPlayer: {1} - {0}
- Исполнитель, название и альбом говорят сами за себя
- GUID: WMCONTENTID
Затем вы создаете 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.
В любом случае, моя документация для рассматриваемого интерфейса находится здесь: