WPFウィンドウアプリケーションは、実行中に別のウィンドウから開きます。 しかし、私は単一のウィンドウを閉じて閉じたいです。アプリが既に実行中で、もう一度クリックしてアプリを再度開くと、以前のアプリが閉じられ、新しいアプリが起動します。もう一度起動すると、以前の同じWPFを閉じる方法は?
同じウィンドウが既に実行されている場合は、現在のウィンドウを閉じることができます。
Application.Current.Shutdown();
しかし、実行中の前のウィンドウを閉じたいです。
WPFウィンドウアプリケーションは、実行中に別のウィンドウから開きます。 しかし、私は単一のウィンドウを閉じて閉じたいです。アプリが既に実行中で、もう一度クリックしてアプリを再度開くと、以前のアプリが閉じられ、新しいアプリが起動します。もう一度起動すると、以前の同じWPFを閉じる方法は?
同じウィンドウが既に実行されている場合は、現在のウィンドウを閉じることができます。
Application.Current.Shutdown();
しかし、実行中の前のウィンドウを閉じたいです。
プロセス境界を越えて信号を送るには、名前付きミューテックスのようなOSレベルのプリミティブが必要です。
アプリケーションの起動時に、同じミューテックスでSignalAndWaitを実行する必要があります。
既存の実行中のプロセスを強制終了し、新しいプロセスの開始を通知する信号を使用します。
申し訳ありませんが分かりません.... –
それから読み始めます。すべてのキーワードが入っています。これはWPF固有のbtwではありません。 - まったくそうではありません(明らかに、WPFが何であるか、どのプロセスがどのようなものなのかなどは分かっていません)。 – TomTom
以下は、いくつかの基本を助けるでしょう。ハッピーコーディング。 https://msdn.microsoft.com/en-us/library/tsds36f0(v=vs.110).aspx –
つまり、アプリを実行していてもう一度開くと、前のウィンドウが閉じられ、新しいウィンドウがアクティブになります。動画プレーヤーのように。 –
実際には、新しいものが既に実行中のアプリにコマンドパラメータを渡して閉じてしまうのは普通です。それは本当に新しいものであり、古いものではなく閉じたものです。 –