2016-12-15 76 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应用程序? –

相关问题