现在尝试了一段时间。 我在网上看到的所有解决方案似乎都不起作用,特别是真正简单的方法。
WMPLib.WindowsMediaPlayer c = new WMPLib.WindowsMediaPlayer();
IWMPMedia i = (IWMPMedia)c.currentMedia;
c.currentMedia始终为空。
似乎是新的WMPLib.WindowsMediaPlayer();始终创建Windows Media Player的新实例。 首先,我认为我是以管理员身份运行visual studio,但改变它并没有帮助。似乎我不得不连接到正在运行的wmplayer.exe实例,但无法找到办法。
顺便说一下。我需要的是当前播放歌曲的完整文件网址(如果是流式传输,则为fullurl,但这是我现在最不关心的问题。)
答案 0 :(得分:1)
您的问题已经回答here。
非常直接的方式:
在此处获取一个WMP9插件,将您当前的歌曲名称放在 WMP窗口的标题栏,并使用 FindWindow P / Invoke获取窗口 并获得歌曲名称。它应该工作, 虽然有点棘手。
查看here了解详情。
- 醇>
一种更复杂的方式:
由于您的申请和WMP将是不同的流程,您的 场景需要某种形式 进程间通信(IPC)。和 .NET为此提供远程处理。
以下是一些有用的信息:
来自SamAgain