2017-02-15 6 views
0

installiert ich im Grunde bin die gleiche Frage wie diese Person auf MSDN zu fragen: How to detect if application is installed on the deviceWie erkennen, ob ein Desktop-App von einem UWP App

Aber ich bin neu in Entwicklung und die Antwort wurde wieder auf Dokumente hingewiesen .microsoft.com was ich war froh, aber ich denke, ich habe verloren, wie man es abzieht.

Ich nehme an, dass dieser Code auf App.xaml.cs gespeichert werden muss, und dass es tatsächlich eine Eigenschaft setzt, die ich verwenden kann, um die Sichtbarkeit meiner Ansichtsschaltfläche ein- oder auszuschalten.

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

Was ich tun möchte, ist Mark die Sichtbarkeit von einem meiner Ansichten innerhalb der App zu nicht angezeigt werden, wenn Microsoft Dyanmics AX installiert ist.

Hier ist Code in XAML für die Schaltfläche.

<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> 

Übrigens verwende ich Template10 als Framework. So nehme ich an, dass, da alle meine Ansichten in der Shell.xaml angezeigt werden, ich eine Bedingung auf die obige Taste als Visibility=Visible setzen würde.

+1

Realistisch betrachtet dies nichts mit T10 zu tun hat, auch nicht, aber grundlegende Design. Wenn MS Dynamics AX keine UWP-App ist, werden Sie wahrscheinlich SOL sein. Letztendlich wird dies nicht funktionieren, da das Design von UWP verhindert, dass Sie in Verzeichnissen außerhalb Ihres Profils arbeiten. – mvermef

+0

Nun, das ist der verwirrende Teil ... der erste Link, den ich hinzugefügt habe, hatte dies als Antwort ... – ekgcorp

+0

Nun, das ist der verwirrende Teil .. der erste Link, den ich hinzugefügt hatte, hatte dies als Antwort ... Eine universelle Windows App kann anrufen Launcher.QueryUriSupportAsync, um festzustellen, ob die App installiert ist, die den URI und das Paket unterstützt, das Sie starten möchten. Ich verstehe nicht ganz, was das sagt. Für mich heißt es, ein UWP kann den aufrufen und "Available" oder "AppNotInstalled" abrufen. https://docs.microsoft.com/en-us/uwp/api/windows.system.launchquerysupportstatus – ekgcorp

Antwort

0

Die kurze Antwort auf die gestellte Frage lautet: Nein, ein UWP kann nicht erkennen, welche Win32-Anwendungen auf dem System installiert sind.

Etwas längere Antwort: Wenn Sie wirklich wissen möchten, ob eine App installiert ist, die ein bestimmtes Protokoll unterstützt oder einen bestimmten Dateityp unterstützt, können Sie dies mithilfe von QueryUriSupportAsync oder QueryFileSupportAsync herausfinden. Diese APIs berücksichtigen auch installierte Win32-Anwendungen.

Danke, Stefan Wick - Windows Developer Platform

Verwandte Themen