2010-09-15 112 views

回答

2

我在安裝使用的方法是檢查此註冊表值:

HKLM 
Software\Microsoft\MediaPlayer\PlayerUpgrade 
PlayerVersion 

的PlayerVersion值將被設置爲像「10,0,0,0」的字符串。 (請注意逗號,而不是句點,用於分隔數字。)您需要提取第一個數字(主要版本)並確保它是10或更高。

我找不到有關如何檢測WMP的任何官方文檔,但上述方法似乎可以與當前版本的Windows和WMP一起正常工作。

請注意,如果安裝了WMP9(Windows XP附帶的版本),當您嘗試使用MediaElement時,應用程序不會崩潰,但控件不會呈現任何內容,並且警告消息將打印到調試器。

如果您的應用程序只能用於Vista或更高版本,則無需擔心任何此類問題,因爲Vista附帶了WMP10。

+0

如果我需要檢查Windows媒體播放器9是否安裝在Xp以及Windows 7和Vista中,我該怎麼做? – dinesh 2012-02-08 18:24:01

+0

指定的密鑰在Windows 7中無法使用以獲取媒體播放器版本 – dinesh 2012-02-08 18:51:36

2

這裏是你如何檢查所有系統上安裝的產品:

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」。

要獲取特定產品的信息,您可以優化查詢或在所有產品中搜索產品。

+0

allProducts.Get()調用需要相當長的時間來運行。此外,Windows Media播放器似乎不在Win32_Product WMI類中,因爲它是一個Windows組件,並未通過Windows安裝程序安裝。 – 2010-09-16 08:50:58

+0

yes Nu-Hin是對的 – dinesh 2012-02-08 16:53:43

0

,我發現這個解決方案:

​​
相關問題