2015-09-30 2 views
1

Maintenant, je veux lancer une application Windows 8 Metro par une application de formulaire C#, mais il est difficile pour moi de trouver la bonne voie ...Comment lancer une application Windows8 Metro Application par formulaire C#?

J'avais essayé ces façons (j'avais installé l'application Metro et enregistré un Protocole):

1.

var success = await Windows.System.Launcher.LaunchUriAsync(new Uri("TestContent")); 

Dans le « TestContent » ci-dessus, j'ai essayé le nom du protocole enregistré sur mon ordinateur et le nom du Metro App, mais la même erreur « Accès refusé » a eu lieu.

2.

  Process p = new Process(); 
      p.StartInfo.FileName = "ProtocolName://"; 
      p.Start(); 

Cette fois, l'App Metro ne montre l'écran de démarrage, mais n'a pas lancé le programme.

Des idées?

Merci d'avance.

2015/10/01 ADD:

Après avoir lu cette question:

[link] stackoverflow.com/questions/18787609/...

Je pense qu'il est impossible d'exécuter une application de métro à partir d'un formulaire Windows.

Répondre

0

Le format de lancer est:

Uri uri = new Uri("protocolname://anything"); 
    await Windows.System.Launcher.LaunchUriAsync(uri); 

Et, Assurez-vous que vous faites que de l'application au premier plan, à savoir pas arrière-plan de travail ou une notification de Toast ou carreaux .. etc.

0

Après avoir lu cette question:

C# Mixing WinRT and Windows Forms

Je pense qu'il peut être impossible d'exécuter une application métro à partir d'une forme de fenêtres.

Mais lorsque je tente le code ci-dessous:

  Process p = new Process(); 
      p.StartInfo.FileName = @"BINGMAPS://"; 
      p.Start(); 

Le BingMaps fonctionne normalement. Est-ce que j'ai manqué le réglage nécessaire dans Metro App?

0

Vous devez d'abord avoir votre application pour gérer l'activation du protocole, puis dans App.xaml.cs dans l'événement OnActivated, gérez-la pour lancer la première page ou la page que vous souhaitez appeler dans l'application Metro. Dans l'application de formulaire C# en utilisant javascript, définissez le contenu de la page en cours comme application de métro. Ça va marcher.