如何使用Windows Live Messenger“我正在听什么”功能?如何与WLM通信以发送歌曲信息,以便Messenger可以设置状态?我用C ++编写(Qt)
我搜索了所有网络,但没有发现任何相关内容,甚至没有其他编程语言。
编辑:
看起来我没有说清楚。我不想要一个演练。我想知道是否有一个API,库或任何与Windows Live Messenger通信的东西,以便使用该功能,如WMP,Winamp和iTunes等媒体播放器。
我搜索了Live Connect API,但我还没有找到任何相关内容。
答案 0 :(得分:2)
由于有许多实现此功能的开源项目可以检查(如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
的{{1}}句柄:{/ 1}}:
FindWindowEx
答案 1 :(得分:1)
a3f通过一些代码提供了一个很好的答案。但是,如果你确实发现他的回复有点混乱,这里是我在编写PsyMP3接口代码时编写的“API”引用。我唯一要说的是我会把GUID部分写成“WMContentID”,就像我在看到Windows Media Player通过WinSpy监听窗口消息时传递给MSN的那样。
无论如何,我的相关界面文档在这里: