我正在尝试用 C# 编写一段代码来查找机器上所有已安装的 Metro 应用程序。我遇到了以下帖子获取 Metro 应用程序列表并使用 PowerShell 在 Windows 8 中启动它们, 其中解释了从系统注册表获取此信息。这是获取列表的唯一可靠方法吗?有人知道其他方法吗?提前致谢
问问题
3408 次
4 回答
7
感谢大家!为了使 PackageManager 代码正常工作,我必须执行以下操作
1) 将以下内容添加到 .csproj。
<PropertyGroup>
<TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>
<Reference Include="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
2) 添加对 C:\Program Files (x86)\Windows Kits\8.0\References\CommonConfiguration\Neutral\Windows.winmd 的引用
完成上述操作后,我能够列出所有地铁套餐。
于 2013-08-13T16:09:36.840 回答
4
我希望我能发表评论……这是一个选择吗?
IEnumerable<Windows.ApplicationModel.Package> packages =
(IEnumerable<Windows.ApplicationModel.Package>)packageManager.FindPackagesForUser("");
于 2013-08-12T04:49:14.833 回答
1
您无法在 WinRT 应用程序中遍历 PC 中安装的所有包。在桌面和控制台应用程序中是可能的。有关详细信息,请参阅这些 MSDN 线程。
如何在 Metro App 中获取所有 Metro 应用列表?
如何在我的 Metro 应用程序中获取所有 Metro 风格的应用程序列表?
在这里执行相同的代码。
于 2013-08-12T06:33:21.857 回答
0
如果有人想知道如何packageManager
在接受的答案中获取变量,您需要执行以下操作:
Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager();
我想这属于评论,但我没有足够的声誉,对不起。
于 2019-07-07T19:40:43.187 回答