如何检测是否从UWP应用程序安装了桌面应用程序

时间:2017-02-15 21:02:03

标签: c# xaml uwp launcher

我基本上在MSDN上询问与此人相同的问题:How to detect if application is installed on the device

然而,我是开发人员的新手,回答指向Docs.microsoft.com我很高兴,但我想我已经迷失了如何将其拉下来。

我假设此代码需要驻留在App.xaml.cs上,并且它实际上设置了一个属性,可用于打开或关闭我的View按钮的可见性。

public static IAsyncOperation<LaunchQuerySupportStatus> 
    QueryUriSupportAsync(Windows.Foundation.Uri,Windows.System.LaunchQuerySupportType,System.String)

我想要做的是,标记应用程序中某个视图的可见性,如果安装了Microsoft Dyanmics AX则不会显示。

这是XAML中的代码按钮。

<Controls:HamburgerButtonInfo ClearHistory="True" PageType="views:DevicePage">
<StackPanel Orientation="Horizontal">
    <SymbolIcon Width="48"
                Height="48"
                Symbol="Keyboard" />
    <TextBlock Margin="12,0,0,0"
               VerticalAlignment="Center"
               Text="Manage Device" />
</StackPanel>

顺便说一句,我使用Template10作为框架。所以我假设因为我的所有观点都显示在Shell.xaml中,我会在上面的按钮上设置一个条件为Visibility=Visible

1 个答案:

答案 0 :(得分:1)

对问题的简短回答是:不,UWP无法检测系统上安装的Win32应用程序。

稍微长一点的回答:如果您真正想知道的是安装了支持特定协议或支持特定文件类型的应用程序,您可以使用QueryUriSupportAsync或QueryFileSupportAsync找到它。这些API还考虑安装的Win32应用程序。

谢谢, Stefan Wick - Windows开发人员平台