C# 有没有办法从我的UWP应用程序中启动外部.exe文件和UWP应用程序?
基本上,我想让用户能够将安装在PC上的其他应用程序的快捷方式添加到我的应用程序中,这样他们就可以从我的应用程序中启动它们。我希望他们能够启动Win32应用程序和UWP应用程序(Windows 10应用商店应用程序)。我的应用程序不是一个文件浏览器,但是用户可以从我的应用程序中启动他们喜欢的应用程序。我有我的理由希望实现这种类型的功能-__- 在我的UWP应用程序中是否有一种方法可以使用UWP应用程序 UWP提供了一种为当前用户查询已安装UWP应用程序的方法。您可以使用C# 有没有办法从我的UWP应用程序中启动外部.exe文件和UWP应用程序?,c#,xaml,uwp,uwp-xaml,C#,Xaml,Uwp,Uwp Xaml,基本上,我想让用户能够将安装在PC上的其他应用程序的快捷方式添加到我的应用程序中,这样他们就可以从我的应用程序中启动它们。我希望他们能够启动Win32应用程序和UWP应用程序(Windows 10应用商店应用程序)。我的应用程序不是一个文件浏览器,但是用户可以从我的应用程序中启动他们喜欢的应用程序。我有我的理由希望实现这种类型的功能-__- 在我的UWP应用程序中是否有一种方法可以使用UWP应用程序 UWP提供了一种为当前用户查询已安装UWP应用程序的方法。您可以使用findpackagesfo
findpackagesfourser
获取它们。然后调用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();
}
}
}
请注意
``
在调用findpackagesfourser
之前,您需要启用packageQuery
功能
<Package
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap" >
......
<rescap:Capability Name="packageQuery" />
......
是否有办法启动外部.exe文件
目前,UWP尚未提供类似经典桌面应用程序的直接启动路径win32应用程序的api,如果您确实需要此功能,我们建议您为UWP应用程序进行桌面扩展,并安装应用程序并在扩展部分内启动它。您可以这样做,将应用程序注册到其他应用程序的URI方案。请参阅:并使用启动器调用uri:这不是windows标准的定义,您应该只为自己的应用程序添加uri,但我认为它会起作用。谢谢您的回复。目标是执行外部应用程序,而不是我的应用程序包中的应用程序。此外,这些应用程序的链接将在运行时设置,因此不会硬编码任何链接。您基本上是给用户一个选项,单击一个按钮并浏览文件系统到某个任意可执行文件的位置。从那时起,用户可以在我的应用程序中随意启动应用程序,即使在我的应用程序重新启动后也是如此。使用process类启动应用程序与从文件资源管理器启动应用程序相同。您可能需要启动包含启动信息的快捷方式。是否有UWP进程类?你能说得更具体些吗?谢谢你的回复。谢谢!最后,我得到了一个明确的回答,这让我有所收获。