获取已安装 windows 个应用的列表
Get List of installed windows apps
我想在 desktop.I 中获取已安装的 uwp 应用程序列表,想在 uwp 中添加它 application.Is 有什么方法可以实现吗?
我们可以使用 PackageManager.FindPackagesForUser(String) method 在 UWP 应用程序中查找为当前用户安装的所有包,如下所示:
PackageManager packageManager = new PackageManager();
IEnumerable<Windows.ApplicationModel.Package> packages = packageManager.FindPackagesForUser("");
此方法 returns 此集合中 Package objects. Each 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。
我想在 desktop.I 中获取已安装的 uwp 应用程序列表,想在 uwp 中添加它 application.Is 有什么方法可以实现吗?
我们可以使用 PackageManager.FindPackagesForUser(String) method 在 UWP 应用程序中查找为当前用户安装的所有包,如下所示:
PackageManager packageManager = new PackageManager();
IEnumerable<Windows.ApplicationModel.Package> packages = packageManager.FindPackagesForUser("");
此方法 returns 此集合中 Package objects. Each 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。