Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Media Player(wmplayer.exe版本12)中的当前播放项目_C#_.net_Mp3_Windows Media Player_Wmplib - Fatal编程技术网

C# Windows Media Player(wmplayer.exe版本12)中的当前播放项目

C# Windows Media Player(wmplayer.exe版本12)中的当前播放项目,c#,.net,mp3,windows-media-player,wmplib,C#,.net,Mp3,Windows Media Player,Wmplib,我已经试了一段时间了。 我在网上看到的所有解决方案似乎都不起作用,特别是真正简单的方法 WMPLib.WindowsMediaPlayer c=新的WMPLib.WindowsMediaPlayer() IWMPMedia i=(IWMPMedia)c.currentMedia; c、 currentMedia始终为空 似乎新的WMPLib.WindowsMediaPlayer();始终在创建Windows Media Player的新实例。 首先,我认为这是我作为管理员运行VisualSt

我已经试了一段时间了。 我在网上看到的所有解决方案似乎都不起作用,特别是真正简单的方法


WMPLib.WindowsMediaPlayer c=新的WMPLib.WindowsMediaPlayer()
IWMPMedia i=(IWMPMedia)c.currentMedia;

c、 currentMedia始终为空

似乎新的WMPLib.WindowsMediaPlayer();始终在创建Windows Media Player的新实例。 首先,我认为这是我作为管理员运行VisualStudio的事实,但改变这一点并没有帮助

似乎我必须以某种方式连接到正在运行的wmplayer.exe实例,但却找不到方法

顺便说一句,我需要的是当前播放歌曲的完整文件url(如果是流媒体,则为完整url,但这是我现在最不关心的问题。)

您的问题得到了回答

  • 一条很直的路:

    在这里获取一个WMP9插件,该插件将把您当前的歌曲名称放在 WMP窗口的标题栏,并使用 findwindowp/Invoke获取窗口 并获得歌曲名称。它应该有用, 虽然有点棘手

    查看更多详细信息

  • 更复杂的方式:

    由于您的应用程序和WMP将是不同的进程,您的 这个场景需要某种 进程间通信(IPC)。及 .NET为此提供远程处理

    以下是一些有用的信息:

  • 中回答您的问题

  • 一条很直的路:

    在这里获取一个WMP9插件,该插件将把您当前的歌曲名称放在 WMP窗口的标题栏,并使用 findwindowp/Invoke获取窗口 并获得歌曲名称。它应该有用, 虽然有点棘手

    查看更多详细信息

  • 更复杂的方式:

    由于您的应用程序和WMP将是不同的进程,您的 这个场景需要某种 进程间通信(IPC)。及 .NET为此提供远程处理

    以下是一些有用的信息:


  • 上看,我认为第一种方法非常难看和粗糙(至少可以这么说)。我建议使用(2)中的COM包装解决方案,可能不太简单,但更有意义。我建议使用(2)中的COM包装解决方案,可能不太简单,但更有意义。