Como executo um Metro-Application a partir da linha de comando no Windows 8?

Como executo um Metro-Application a partir da linha de comando no Windows 8?

Estou desenvolvendo um sistema de automação e um de seus recursos é executar aplicativos a partir da linha de comando (quer dizer, automaticamente, sem intervenção humana).

No Windows 7 eu poderia executar tudo o que quisesse a partir de uma chamada de linha de comando. Existe alguma maneira semelhante de fazer o mesmo com o Windows 8 com também os aplicativos Metro instalados nele?

Responder1

Sim! Eu encontrei um caminho...

Baseado emessecódigo-fonte ("Abrir um aplicativo Metro Style no aplicativo Desktop"), percebi que poderia chamar os aplicativos Metro da mesma forma que normalmente executamos manualmente. Quer dizer, se você apertar Ctrl+ Esce for para a tela do metro, você pode simplesmente digitar o nome do app do metrô, como "loja" por exemplo, apertar Entere pronto, o app do metrô está rodando. Com base nisso criei um VBScript bem simples para executar exatamente essas etapas automaticamente:

Definir objShell = WScript.CreateObject("WScript.Shell")

objShell.SendKeys "^{ESC}"

WScript.Sleep 1000

objShell.SendKeys WScript.Arguments.Item(0)

WScript.Sleep 1000

objShell.SendKeys "{ENTER}"

Salve como "metro.vbs" e chame-o na linha de comando com o nome do aplicativo metro no primeiro argumento:

loja metro.vbs

É isso, de forma muito simples e otimizada.

PS: Todos os créditos foram dados aAl-Khuzaei, o usuário do site Codeplex que criou o código relacionado. Obrigado.

Responder2

A postagem de blog a seguir e o código de suporte mostram como fazer isso com IApplicationActivationManager no PowerShell.

Obtenha uma lista de aplicativos metropolitanos e execute-os no Windows 8 usando o PowerShell «Tome's Land of IT

Felizmente, consegui encontrar algum código emEstouro de pilhaque mostrou como usar isso em C# (a postagem também listou as informações de registro que descreverei neste artigo). Depois de alguns ajustes no código e na sintaxe Add-Type, consegui expor a função necessária no PowerShell. Depois disso, foi apenas uma questão de agrupar a função em algo semelhante ao PowerShell.

O código pode ser encontrado emcódigo postal.

Responder3

Acabei de descobrir outra maneira de fazer isso e escrevi um artigo rápido sobre isso emhttp://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-a-desktop-shortcut-or-command-line/

A versão resumida: crie um atalho que aponte para bingnews:// Você pode ver se ele faz o que deseja. Nesse caso, há mais instruções para obter os nomes no site.

Responder4

Encontrei uma maneira de executar aplicativos universais do Windows baixados da Windows Store ou pré-instalados. Cada aplicativo universal do Windows 8/10 possui um AUMIDque significa 'ID do modelo do usuário do aplicativo'.

PowerShellComando para obter todos os AUMID:

get-StartApps

Saída:

PS C:\> get-StartApps

Name                      AppID
----                      -----
Skype                     Microsoft.SkypeApp_kzf8qxf38zg5c!App
Snip & Sketch             Microsoft.ScreenSketch_8wekyb3d8bbwe!App
Mail                      microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Calendar                  microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Movies & TV               Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo
Photos                    Microsoft.Windows.Photos_8wekyb3d8bbwe!App
Video Editor              Microsoft.Windows.Photos_8wekyb3d8bbwe!SecondaryEntry
Maps                      Microsoft.WindowsMaps_8wekyb3d8bbwe!App
Alarms & Clock            Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Voice Recorder            Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
Camera                    Microsoft.WindowsCamera_8wekyb3d8bbwe!App
Microsoft Store           Microsoft.WindowsStore_8wekyb3d8bbwe!App
Weather                   Microsoft.BingWeather_8wekyb3d8bbwe!App
Cortana                   Microsoft.549981C3F5F10_8wekyb3d8bbwe!App
Instagram                 Facebook.InstagramBeta_8xx8rvfyw5nnt!Instagram
...

Agora, você pode iniciar qualquer aplicativo universal por meio de seu AUMID assim:

explorer shell:appsfolder\[AUMID]

Por exemplo, se você deseja executar Skype:

explorer shell:appsfolder\Microsoft.SkypeApp_kzf8qxf38zg5c!App

informação relacionada