web-dev-qa-db-ja.com

Windows 8でコマンドラインからMetroアプリケーションを実行するにはどうすればよいですか?

私は自動化システムを開発しています。その機能の1つは、コマンドラインからアプリケーションを実行することです(つまり、人間の介入なしに自動的に)。

Windows 7では、コマンドライン呼び出しから必要なすべてを実行できますが、MetroアプリもインストールされているWindows 8で同じことを行ういくつかの同様の方法がありますか?

20
Diogo

うん!私は方法を発見しました...

this ソースコード(「デスクトップアプリからMetroスタイルアプリを開く」)に基づいて、通常手動で実行するのと同じようにMetroアプリを呼び出すことができることに気付きました。つまり、押すと CtrlEsc メトロの画面に移動します。たとえば、「store」などのメトロアプリの名前を入力するだけです。 Enter それだけです。metroアプリが実行されています。これに基づいて、これらの手順を正確に自動的に実行する非常に単純なVBScriptを作成しました。

Set 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:すべてのクレジットは、関連コードを作成したCodeplexサイトユーザー AlKhuzaei に付与されました。ありがとうございました。

12
Diogo

次のブログ投稿とサポートコードは、PowerShellでIApplicationActivationManagerを使用してこれを行う方法を示しています。

Metroアプリのリストを取得し、PowerShellを使用してWindows 8でそれらを起動"Tome's Land of IT

幸い、C-#でこれを使用する方法を示す Stack Overflow でいくつかのコードを見つけることができました(この記事では、この記事で説明するレジストリ情報もリストしました)。コードとAdd-Type構文を少し調整した後、必要な関数をPowerShellに公開することができました。その後は、PowerShellに似たものに関数をラップするだけで済みました。

コードは poshcode にあります。

6
Tome Tanasovski

私はそれを行う別の方法を見つけて、それに関する簡単な記事を http://www.itsjustwhatever.com/2012/10/28/launch-windows-8-metro-apps-from-に書きました。 a-desktop-shortcut-or-command-line /

ショートバージョン:bingnews://を指すショートカットを作成します。もしそうなら、ウェブサイトで名前を取得するためのより多くの指示があります。

5
Nick