2

Visual Studio 2012 が提供するプロジェクト テンプレートの 1 つを作成しました ([新しいプロジェクト] ダイアログの [テンプレート] -> [その他の言語] -> [Visual C#] -> [Windows ストア] からアクセスできる [分割アプリ (XAML)] テンプレート)。

Visual Studio 2012 からアプリケーションを実行でき、Windows 8 のスタート画面から起動できますが、生成された実行可能ファイルを (Windows エクスプローラーやコマンド シェルなどから) 直接起動しようとすると、フルスクリーン エラーが発生します。 「このアプリはお使いの PC では実行できません」というメッセージが出力されます。

Process Explorer を介してアプリケーションの実行中のインスタンスを見ると、a) .NET ランタイム MSCOREE.DLL に対してリンクするだけであり、b) 次のようなコマンド ラインで呼び出されることがわかります。

"[..] \bin\Debug\AppX\WindowsStoreSample.exe" -ServerName:App.AppXgsxd2athqtr03f55we0938hcn632we3k.mca

私の実際の質問は、この種のアプリケーションをプログラムで起動する正しい方法は何ですか? プレーンを使用CreateProcessしてから、上記のようなコマンドラインを組み立てようとしますか? もしそうなら、どうすれば正しい-ServerName引数を決定できますか? または、そのようなアプリケーションを起動する他の方法はありますか?

4

1 に答える 1

3

Windows ストア アプリを起動する正しい方法は、IApplicationActivationManagerインターフェイスを使用することです。これは、Visual Studio 自体がアプリケーションを起動するために使用するものでもあります。インターフェイスのすべてのメソッドにDWORDは、新しく起動されたプロセスの PID を取得する out パラメータがあります。

于 2013-07-30T10:49:52.680 に答える