2012-06-11 3 views
11

Связано с another question on Superuser, я пытаюсь запустить приложение на основе Metro из командной строки. Согласно комментарию к моему вопросу суперпользователя, я мог бы найти ответ на команду или скрипт PowerShell. Я уже пробовал, но нашел что-нибудь в любой интернет-ссылке о PowerShell и Windows 8 ...Как запустить Metro-приложение из PowerShell в Windows 8?

Итак, есть какой-то конкретный способ/команда для вызова и запуска приложения Metro-стиля из команды PowerShell в Windows 8?

+0

['IApplicationActivationManager :: ActivateApplication'] (http://msdn.microsoft.com/en-us/library/windows/desktop/hh706903.aspx). Однако я совсем не знаком с PowerShell. –

+0

Вы уверены, что это работает в приложениях Metro? «Применяется только к настольным приложениям» – Diogo

+0

Это означает, что этот API можно вызывать только из настольного приложения. –

ответ

4

Нет прямого способа сделать это, но есть несколько косвенных способов.

vsdebuglaunchnotify, который поставляется с Visual Studio, можно вызвать из PowerShell.

Вы можете создать свой собственный exe, который использует IApplicationActivationManager.

Если приложение связано с любыми типами файлов, вы можете запустить связанный файл.

Более подробная информация рассматривается в этой теме на MSDN:

http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/8d1b0861-5903-4289-8cb8-541ddaa012fb

2

Вот блог по Powertoe, который использует путь IApplicationActivationManager сделать это:

http://powertoe.wordpress.com/2012/11/02/get-a-list-of-metro-apps-and-launch-them-in-windows-8-using-powershell/

Он предоставляет код здесь http://poshcode.org/3740, который предоставляет командный файл Start-MetroApp для powershell.

В качестве альтернативы: я думаю, что некоторые приложения Metro имеют обработчики протоколов, поэтому вы можете разговаривать с ними через URI (например, «appname: dosomething»), но я не уверен, насколько широко это используется.

Смежные вопросы