我们如何提取启动 UWP 应用程序的信息?

Posted

技术标签:

【中文标题】我们如何提取启动 UWP 应用程序的信息?【英文标题】:How can we extract startup UWP applications information? 【发布时间】:2021-08-30 23:04:32 【问题描述】:

我正在使用 C++ 代码库开发取证工具。要求是显示所有启动应用程序。但是,在“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”或具有启动应用程序信息的任何其他路径的 RegEdit 中找不到启用在启动时运行的 UWP 应用程序。

如果我必须编写代码来从注册表或 Windows 文件夹中提取 Cortana、Skype、Spotify 等(UWP 应用程序)等启动应用程序,我该怎么做? 有没有存放UWP启动应用的路径?

注意:我知道所有已安装的应用程序都存储在 C:\Program Files\WindowsApps\ 但其中,如何识别哪些启用了启动?

【问题讨论】:

【参考方案1】:

使用Windows.Management.Deployment API。

    通过PackageManager.FindPackagesForUserWithPackageType枚举已安装的包

    使用GetPackageApplicationIds

    使用StartupTask.GetAsync 通过应用程序ID 获取StartupTask

请参阅this sample,它同时作为 C++ 和 C# 提供。

【讨论】:

我试过了,应用需要以管理员身份运行。

以上是关于我们如何提取启动 UWP 应用程序的信息?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Windows 10 uwp 上的代码重新启动

UWP: 实现 UWP 应用自启动

如何使用 UWP 应用重新启动 Windows PC? [复制]

UWP: 通过命令行启动 UWP 应用

如何使用 UWP 应用程序的命令行参数启动 win32 exe?

自动启动 Windows 10 UWP 应用