Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法从我的UWP应用程序中启动外部.exe文件和UWP应用程序?_C#_Xaml_Uwp_Uwp Xaml - Fatal编程技术网

C# 有没有办法从我的UWP应用程序中启动外部.exe文件和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

基本上,我想让用户能够将安装在PC上的其他应用程序的快捷方式添加到我的应用程序中,这样他们就可以从我的应用程序中启动它们。我希望他们能够启动Win32应用程序和UWP应用程序(Windows 10应用商店应用程序)。我的应用程序不是一个文件浏览器,但是用户可以从我的应用程序中启动他们喜欢的应用程序。我有我的理由希望实现这种类型的功能-__-

在我的UWP应用程序中是否有一种方法可以使用UWP应用程序

UWP提供了一种为当前用户查询已安装UWP应用程序的方法。您可以使用
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进程类?你能说得更具体些吗?谢谢你的回复。谢谢!最后,我得到了一个明确的回答,这让我有所收获。