获取已安装的Windows应用程序列表

时间:2016-12-15 09:05:09

标签: c# windows-store-apps win-universal-app

我想在桌面上获取已安装的uwp应用程序列表。我想在uwp应用程序中创建它。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分: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