2016-12-15 95 views
0

我想獲得桌面上已安裝的uwp應用程序的列表。我想在uwp應用程序中創建它。是否有任何方法可以實現這一目標?獲取已安裝的Windows應用程序的列表

+3

看看類似的問題。 http://stackoverflow.com/questions/15448832/can-we-get-the-list-of-apps-programmatically-in-windows-phone – Rudra

+0

雅這是獲取已安裝的軟件包BT列表,而上傳存儲它顯示錯誤爲「刪除受限制的功能」 –

+0

我想要獲得System.Is中已安裝的Win32應用程序的列表是否可以在UWP中實現? –

回答

1

我們可以用PackageManager.FindPackagesForUser(String) method找到安裝在UWP應用當前用戶的所有包,比如以下:

PackageManager packageManager = new PackageManager(); 

IEnumerable<Windows.ApplicationModel.Package> packages = packageManager.FindPackagesForUser(""); 

這個方法返回Package對象的枚舉集合。此集合中的每個Package對象都包含有關該包的信息,包括但不限於其名稱,發佈者,版本和安裝位置。

但請注意,要在UWP應用程序中使用此方法,我們需要在應用程序的包清單中聲明受限制的功能packageQuery

<Package 
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" 
    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" 
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" 
    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" 
    IgnorableNamespaces="uap mp rescap"> 

    ... 

    <Capabilities> 
    <Capability Name="internetClient" /> 
    <rescap:Capability Name="packageQuery" /> 
    </Capabilities> 
</Package> 

欲瞭解更多信息,請參閱Special and restricted capabilities

+0

有沒有辦法在UWP中安裝win32應用程序? –

相關問題