c# - 有没有办法从我的 UWP 应用程序中启动外部 .exe 文件和 UWP 应用程序?
问题描述
基本上,我想让用户能够将安装在他们 PC 上的其他应用程序的快捷方式添加到我的应用程序中,以便他们可以从我的应用程序中启动它们。我希望他们能够启动 Win32 应用和 UWP 应用(Windows 10 应用商店应用)。我的应用程序不是文件浏览器,但用户只需能够从我的应用程序中启动他们最喜欢的应用程序。我有理由希望实现这种类型的功能。-__-
解决方案
我的 UWP 应用程序中是否有 UWP 应用程序的方法?
UWP 提供了一种为当前用户查询已安装的 UWP 应用程序的方法。你可以FindPackagesForUser
用来获取它们。然后调用GetAppListEntriesAsync
以获取每个应用程序的应用程序条目。如果你想启动应用程序,只需调用 LaunchAsync
方法。有关更多信息,请参阅以下示例代码。
private async void FindBtn_Click(object sender, RoutedEventArgs e)
{
PackageManager manager = new PackageManager();
var packages = manager.FindPackagesForUser(string.Empty);
foreach (var package in packages)
{
var appEntries = await package.GetAppListEntriesAsync();
var firstApp = appEntries.FirstOrDefault();
if (firstApp != null)
{
await firstApp?.LaunchAsync();
}
}
}
请注意
``在调用之前FindPackagesForUser
,您需要启用 packageQuery
功能
<Package
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap" >
......
<rescap:Capability Name="packageQuery" />
有没有办法启动外部 .exe 文件
目前,UWP 还没有提供这样的 api 来像经典桌面应用程序那样直接启动带有路径的 win32 应用程序,如果您确实需要此功能,我们建议您为您的 UWP 应用程序制作桌面扩展,并在扩展部分安装应用程序并启动它。
推荐阅读
- python - Keras:如何在另一个模型中正确匹配模型的形状
- visual-studio - Visual Studio 2019 中多行编辑的键盘绑定丢失
- oauth-2.0 - 使用 FastAPI 与 OAuth2 和 Azure AD 进行 SSO 集成
- c++ - LOG(INFO) 没有显示任何内容
- mongodb - AWS Managed Grafana - 无法连接到 Amazon Document Db 作为 MongoDB 数据源
- typescript - 在 CDK 合成期间使用 IAspect 或其他方法以非侵入方式将代码添加到 lambda 资产包
- postgresql - Cloud SQL 上的高 CPU 使用率导致超时
- sql - 用于解析文档中的关键字的 SQL 数据库
- node.js - 授权问题(Node.js、Express)
- python - Pulumi 输入输出和资源依赖 Python GCP