使用C#检测已安装的Windows Media Player版本

时间:2013-10-04 12:53:02

标签: c# .net winforms media-player

我有一个C#应用程序,我需要检测已安装的Windows Media Player版本(我需要知道它是否高于10)。任何人都知道如何解决它?非常感谢!

3 个答案:

答案 0 :(得分:1)

您必须通过c#使用注册表来获取详细信息 系统上安装的每个软件都在“软件”下的“ HKEY_LOCAL_MACHINE ”中有注册表项

因此我们进入内部并在 Microsoft 文件夹中搜索 MediaPlayer

我们有一个名为 PlayerUpgrade 的文件夹,里面有我们的密钥 PlayerVersion ,其中安装了媒体播放器的版本。

以下是代码

RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\MediaPlayer\\PlayerUpgrade", false);
string version = (string) myKey.GetValue("PlayerVersion");

你会得到像“11,0,6002,18111”这样的价值。意味着版本11

答案 1 :(得分:0)

查看密钥IsInstalled下的HKLM\Software\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}值。安装时为1,否则为0。

请参阅Detecting Windows Media Player from an Application.

答案 2 :(得分:0)

您也可以使用.Net来读取文件版本。例如:

FileVersionInfo wmpInfo = FileVersionInfo.GetVersionInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Windows Media Player", "wmplayer.exe"));
if (wmpInfo.FileMajorPart > 10)
{
    //Do something
}