2016-04-24 10 views
-1

WPFウィンドウアプリケーションは、実行中に別のウィンドウから開きます。 しかし、私は単一のウィンドウを閉じて閉じたいです。アプリが既に実行中で、もう一度クリックしてアプリを再度開くと、以前のアプリが閉じられ、新しいアプリが起動します。もう一度起動すると、以前の同じWPFを閉じる方法は?

同じウィンドウが既に実行されている場合は、現在のウィンドウを閉じることができます。

Application.Current.Shutdown(); 

しかし、実行中の前のウィンドウを閉じたいです。

+0

つまり、アプリを実行していてもう一度開くと、前のウィンドウが閉じられ、新しいウィンドウがアクティブになります。動画プレーヤーのように。 –

+0

実際には、新しいものが既に実行中のアプリにコマンドパラメータを渡して閉じてしまうのは普通です。それは本当に新しいものであり、古いものではなく閉じたものです。 –

答えて

0

プロセス境界を越えて信号を送るには、名前付きミューテックスのようなOSレベルのプリミティブが必要です。

アプリケーションの起動時に、同じミューテックスでSignalAndWaitを実行する必要があります。

既存の実行中のプロセスを強制終了し、新しいプロセスの開始を通知する信号を使用します。

+0

申し訳ありませんが分かりません.... –

+1

それから読み始めます。すべてのキーワードが入っています。これはWPF固有のbtwではありません。 - まったくそうではありません(明らかに、WPFが何であるか、どのプロセスがどのようなものなのかなどは分かっていません)。 – TomTom

+0

以下は、いくつかの基本を助けるでしょう。ハッピーコーディング。 https://msdn.microsoft.com/en-us/library/tsds36f0(v=vs.110).aspx –

関連する問題