2015-09-30 7 views
1

Теперь я хочу запустить приложение Windows 8 Metro приложением формы C#, но мне трудно найти правильный путь ...Как запустить приложение Windows 8 Metro с помощью приложения формы C#?

Я пробовал эти способы (я установил приложение Metro и зарегистрировал протокол):

1.

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

В «TestContent» выше, я попробовал имя протокола, зарегистрированный на моем компьютере, и имя Metro App, но та же ошибка «Отказано в доступе» произошло.

2.

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

На этот раз Metro App показал заставку, но не запускать всю программу.

Любые идеи?

Заранее спасибо.

2015/10/01 ADD:

После прочтения этого вопроса:

[ссылка] stackoverflow.com/questions/18787609/...

Я думаю, что это невозможно запустить приложение метро из окон.

ответ

0

Правильный формат для запуска является:

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

И, убедитесь, что вы делаете, что с переднего плана приложения, т.е. не фоновая задача или уведомление Toast или плитка .. и т.д.

0

После прочтения этого вопроса:

C# Mixing WinRT and Windows Forms

Я думаю, что это может быть невозможно запустить приложение на метро от формы окна.

Но когда я пытаюсь код ниже:

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

BINGMAPS работает нормально.

Я пропустил все необходимые настройки в приложении Metro?

0

Сначала вам нужно приложение для активации протокола, а затем в App.xaml.cs в событии OnActivated обработайте его, чтобы запустить первую страницу или любую другую страницу, которую вы хотите вызвать в приложении Metro. В приложении формы C#, используя javascript, установите текущее содержимое страницы в качестве приложения метро. Это будет работать.