Как запустить Metro-приложение из командной строки в Windows 8?

20

Я занимаюсь разработкой системы автоматизации, и одной из ее функций является запуск приложений из командной строки (я имею в виду, автоматически без вмешательства человека).

В Windows 7 я мог запускать все, что хочу, из вызова командной строки. Есть ли какой-то аналогичный способ сделать то же самое с Windows 8 с установленными на нем приложениями Metro?

Диого
источник
В Windows 8, является ли из командной строки?
Ян Бойд
1
да, просто введите cmd в интерфейсе метро и выполните его.
Диого
Вы используете VS?
Soandos
2
FWIW, вы можете сосредоточиться на Powershell вместо этого. Пакет AppX включает в себя несколько командлетов для управления приложениями Metro (см. Get-Help AppxПодробнее), хотя в настоящий момент я не могу найти что-нибудь для их запуска.
Индрек
1
Насколько я знаю, вы не можете запускать приложения Metro из командной строки. Я надеюсь, что кто-нибудь знает некоторые взломать / решения.
Корпоративный Компьютерщик

Ответы:

12

Да! Я нашел путь...

Основываясь на этом исходном коде («Откройте приложение в стиле Metro из приложения для настольных компьютеров»), я понял, что могу вызывать приложения метро, ​​как обычно мы запускаем вручную. Я имею в виду, что если вы нажмете Ctrl+ Escи перейдете к экрану метро, ​​вы можете просто ввести название приложения метро, ​​например, например, «store», нажать, Enterи все, приложение метро запущено. Исходя из этого, я создал очень простой VBScript для автоматического выполнения именно этих шагов:

Установите objShell = WScript.CreateObject ("WScript.Shell")

objShell.SendKeys "^ {ESC}"

WScript.Sleep 1000

objShell.SendKeys WScript.Arguments.Item (0)

WScript.Sleep 1000

objShell.SendKeys "{ENTER}"

Сохраните это как «metro.vbs» и вызовите его из командной строки с именем приложения метро в первом аргументе:

магазин metro.vbs

Вот и все, очень простой и оптимизированный способ.

PS: Все кредиты предоставлены AlKhuzaei , пользователю сайта Codeplex, который создал соответствующий код. Спасибо.

Диого
источник
Ах, мне было интересно то же самое. Интересное решение. Единственная проблема заключается в том, что если у вас есть две программы с одинаковыми именами, например, версии Metro и Evernote для настольных компьютеров. Который запускается с вышеупомянутым ?? Должен быть другой способ, поскольку Visual Studio может запускать разрабатываемое вами приложение.
Джим Маккит
Я думаю, что, потому что Ctrl + Esc, он откроет только приложение метро ... Это то, что будет испытание.
Диого
Нет, только что попробовал. [Ctrl] + [Esc] - это то же самое, что и [Win], и оба показывают просто меню «Пуск» , которое позволяет запускать там любую программу - как Metro, так и Desktop.
Джим Маккит
Итак, что делает Windows 8, когда два приложения metro и desk имеют одинаковое имя ??? Это стало дублироваться на интерфейсе метро?
Диого
Да, это действительно раздражает. Именно поэтому я удалил версию Evernote для Metro.
Джим Маккит
6

Следующая запись блога и вспомогательный код показывают, как это сделать с помощью IApplicationActivationManager в PowerShell.

Получить список приложений метро и запустить их в Windows 8, используя PowerShell «Tome's Land of IT

К счастью, мне удалось найти некоторый код в переполнении стека, который показал, как использовать это в C # (в этом посте также содержалась информация о реестре, которую я опишу в этой статье). После некоторой настройки кода и синтаксиса Add-Type я смог представить нужную мне функцию в PowerShell. После этого нужно было просто обернуть функцию во что-то похожее на PowerShell.

Код можно найти по почтовому индексу .

Томе Танасовски
источник
Добро пожаловать в Супер пользователя, Том! Мы бы хотели, чтобы ответы были автономными, поэтому не слишком полагались на внешние ресурсы. Я процитировал наиболее релевантные части вашего сообщения в блоге, но вы можете редактировать гораздо больше, в том числе и в отношении решения точной проблемы ОП.
Slhck
Очень классная информация, здесь!
Бен Ричардс
5

Я просто нашел другой способ сделать это и написал небольшую статью на http://www.itsjustwhwhat.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop- ярлык или-командная строка /

Краткая версия: создайте ярлык, который указывает на bingnews: // Вы можете увидеть, делает ли он то, что вы хотите. Если это так, есть дополнительные инструкции, чтобы получить имена на сайте.

Ник
источник