如何检查机器上安装的Windows Media Player版本?
据我所知,Windows Media Player 10是WPF MediaElement工作的最低要求。什么是以编程方式(从.NET)体面的方式检查是否存在WMP及其版本?如何检查机器上安装的Windows Media Player版本?
我在安装使用的方法是检查此注册表值:
HKLM
Software\Microsoft\MediaPlayer\PlayerUpgrade
PlayerVersion
的PlayerVersion值将被设置为像“10,0,0,0”的字符串。 (请注意逗号,而不是句点,用于分隔数字。)您需要提取第一个数字(主要版本)并确保它是10或更高。
我找不到有关如何检测WMP的任何官方文档,但上述方法似乎可以与当前版本的Windows和WMP一起正常工作。
请注意,如果安装了WMP9(Windows XP附带的版本),当您尝试使用MediaElement时,应用程序不会崩溃,但控件不会呈现任何内容,并且警告消息将打印到调试器。
如果您的应用程序只能用于Vista或更高版本,则无需担心任何此类问题,因为Vista附带了WMP10。
这里是你如何检查所有系统上安装的产品:
SelectQuery allProductsQuery = new SelectQuery("Win32_Product");
ManagementObjectSearcher allProducts =
new ManagementObjectSearcher(allProductsQuery);
foreach(ManagementObject product in allProducts.Get())
{
Console.WriteLine("Product {0} is at version {1}",
product.Properties["Name"].Value,
product.Properties["Version"].Value);
}
您需要添加“使用System.Management”,并提到“System.Management.dll”。
要获取特定产品的信息,您可以优化查询或在所有产品中搜索产品。
allProducts.Get()调用需要相当长的时间来运行。此外,Windows Media播放器似乎不在Win32_Product WMI类中,因为它是一个Windows组件,并未通过Windows安装程序安装。 – 2010-09-16 08:50:58
yes Nu-Hin是对的 – dinesh 2012-02-08 16:53:43
,我发现这个解决方案:
如果我需要检查Windows媒体播放器9是否安装在Xp以及Windows 7和Vista中,我该怎么做? – dinesh 2012-02-08 18:24:01
指定的密钥在Windows 7中无法使用以获取媒体播放器版本 – dinesh 2012-02-08 18:51:36