有没有办法通过本机 C# 调用检测系统上安装了哪些 Windows 应用商店应用程序?

Posted

技术标签:

【中文标题】有没有办法通过本机 C# 调用检测系统上安装了哪些 Windows 应用商店应用程序?【英文标题】:Is there a way to detect what Windows Store apps are installed on a system with native C# calls? 【发布时间】:2016-06-24 14:12:27 【问题描述】:

我正在尝试为我正在构建的 C# 应用程序复制 Get-AppxPackage 和 Get-ProvisionedAppxPackage Powershell cmdlet 的功能,但不知道如何开始。

由于this problem,我无法使用 C# Powershell API,所以如果可能的话,我想要一个原生 C# 解决方案。

【问题讨论】:

【参考方案1】:

您可以使用Windows.Management.Deployement.PackageManager 从代码而不是 PowerShell 中查找、删除、安装等包。

Enumerate app packages sample 演示了如何在 C# 和 C++ 中使用它。

【讨论】:

太棒了!正是我正在寻找的完美解决方案。谢谢。【参考方案2】:

不管怎样,我确实找到了一种直接从 WMI 获取此信息的方法:有一个名为 Win32_InstalledStoreProgram 的 WMI 类可以返回所需的信息

【讨论】:

以上是关于有没有办法通过本机 C# 调用检测系统上安装了哪些 Windows 应用商店应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

C# web页面 调用本地的mstsc.exe(远程桌面)?

本机 C++ 中的类 C# 属性?

如何获取本机系统调用地址

通过执行本机操作系统的命令(如 curl)通过 MySQL 调用 HTTP GET 请求

从本机调用 C# 以检索字符串

通过 Marshal.GetFunctionPointerForDelegate 从本机 (C++) 线程调用托管函数 (C#)