5

「アプリ キラー」として動作する Windows 8 の「メトロ スタイル」アプリを作成しようとしています。Win8 (Tech Preview) を使用したことがある方は、metro スタイルのアプリを開くと、(タスク マネージャーに移動してプロセスを終了しない限り) 閉じることができないことに気付くでしょう。

私の課題は、メトロ スタイル アプリから 'System.Diagnostics.Process' にアクセスできないことと、WinRT 内に同等の代替手段があるかどうかわからないことです。また、メトロ アプリと連携するサービスをホストする別のアプリを構築することも考えましたが、これは 1 つのアプリで行いたいと考えています。

基本的に、.NET 4.0 コンポーネントを活用する Metro スタイル アプリを構築するためのパターンを探しています。具体的には、PC 上で実行されている他のプロセスを列挙して強制終了できるようにするためです。

明確化: 私は、この特定のアプリケーションにはあまり関心がありませんが、Metro スタイル アプリ内のそのタイプの .NET 機能へのアクセスに関心があります。

ありがとう

4

4 に答える 4

8

私が理解していることから (Build2011 のビデオを見て)、Metro アプリではそれができません...

プロセス間の相互作用は、特定のコントラクト (右側のチャーム: 検索、送信先) にいくつか制限されています。

デスクトップではなく電話を考えてください。

ただし、Metro 以外の Win8 アプリをビルドできる場合もあります。

于 2011-10-16T20:43:58.787 に答える
8

特定の質問に対して、この機能は利用できません。アプリが他のアプリとやり取りしたり干渉したりすることは許可されていません。

より一般的な質問に答えると、Metro スタイル アプリケーションで使用できる API は、デスクトップ アプリケーションで使用できる API に比べて限られています。C# には、Silverlight と同様に、.Net ライブラリのサブセットが用意されています。デスクトップの Win32/COM APIのサブセットが利用できるC++ の場合も同様です。

于 2011-10-17T00:01:56.690 に答える
3

これにあまり時間を無駄にしないでください。ベータ版には、近いオプション(おそらくチャームさえ)が含まれることを期待しています。それまでは、キーボードのAlt-F4またはタスクマネージャーを使用してください

于 2011-10-16T20:51:32.433 に答える
-1

C++:

Window::Current->CoreWindow->Close();

また

Window::Current->Close();

私はこれら 2 つの違いを調査していません (より正確には、 との違いはわかりませんCoreWindowCurrent推測することはできますが...

Win7 マシンで Win8 の Oracle VBox を使用して、VS 11 を使用して C++ Metro アプリを開発しています。上記の両方の方法を使用しました。タスク マネージャーで、アプリが Win8 とシミュレーターの両方で実行されていないことを確認しました。

于 2011-10-27T20:30:39.183 に答える