Открытие файла в приложении Metro из командной строки
Мне нужно открыть файл в приложении Metro из командной строки.
До сих пор я выяснил, как запустить приложение из командной строки без каких-либо сторонних скриптов.
explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader
но я еще не смог выяснить, как включить имя файла.
Запуск
explorer shell:AppsFolder\Microsoft.Reader_8wekyb3d8bbwe!Microsoft.Reader example.pdf
просто открывает окно проводника по умолчанию.
Любая идея от экспертов Windows 8 о том, как выполнить этот без любых сторонних инструментов/командлетов/и т.д.?
Примечание. Фактически, я использую Windows 10, но я думаю, что если есть способ Windows 8/8.1, он будет работать и на 10.
Ответы
Ответ 1
Если вы все еще ищете ответ, лучший способ открыть файл в приложении метро - использовать строку выполнения, как это делает обычный протокол приложения. Строка выполнения выглядит так:
bingnews:[arguments, can be left blank.]
microsoftvideo:[arguments, can be left blank.]
netflix:[arguments, can be left blank.]
Итак, чтобы запустить netflix, это так же просто, как ввести Start netflix:
в командной строке.
Чтобы найти строку исполнения для приложения, перейдите сюда: Панель управления\Programs\Программы по умолчанию\Установить ассоциации
Более подробную информацию и примеры можно найти здесь.
http://windowsitpro.com/windows-8/opening-windows-8-apps-command-prompt-or-script
http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Чтобы открыть приложение БЕЗ ПРОТОКОЛА (один из них не указан в реестре или в разделе "Установить ассоциации" ), используйте метод OP:
explorer shell:AppsFolder\[appuid]![appfullname]
UID приложения - это имя папки без номера версии. Например,
4DF9E0F8.Netflix_ 2.11.0.8_x64 __ mcm4njqhnhss8
становится
4DF9E0F8.Netflix_mcm4njqhnhss8
Полное имя приложения - [App author].[App name]
Например, 4DF9E0F8.Netflix
. 4DF9E0F8 является автором, а Netflix - именем.
Поместите все это вместе, чтобы получить
explorer shell:AppsFolder\4DF9E0F8.Netflix_mcm4njqhnhss8!4DF9E0F8.Netflix
Ответ 2
Если приложение является обработчиком по умолчанию, вы можете просто запустить файл или протокол. В командной строке нет хорошего способа запуска файла в обработчик не по умолчанию.
Приложения Windows Store не предназначены для запуска из командной строки, и нет простого способа запустить их из командной строки. Приложения, которые обрабатывают определенные файлы или протоколы, получают их через FileActivatedEventArgs или ProtocolActivatedEventArgs, а не аргументы командной строки
Вы можете написать приложение для запуска, которое использует CLSID_ApplicationActivationManager IApplicationActivationManager для ActivateForFile конкретное приложение.
Ответ 3
Хранить приложения можно только в оболочке. Поэтому попробуйте следующее:
explorer.exe shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Или из run (Win + R):
shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Ответ 4
Не уверен, что он работает в Windows 8, но в Windows 10 я использую это:
cmd /C start <app-name>:
Например, для запуска Slack:
cmd /C start slack: