Division By Zero

ゼロで割る

WPFアプリで二重起動の防止を行う

以下の手順で、WPFアプリで二重起動を防止することができた。

  1. ソリューションエクスプローラーからApp.xamlを開く
  2. プロパティウィンドウの「イベント」タブで、Startupをダブルクリック
  3. 下記のようなコードをApp.xaml.csに加える
private void Application_Startup(object sender, StartupEventArgs e)
{
    mutex = new System.Threading.Mutex(false, "Mutexの名称");

    if (!mutex.WaitOne(0, false))
    {
    MessageBox.Show("起動済み");
    mutex.Close();
    mutex = null;

    this.Shutdown();
    }
}
  1. App.xamlを開く
  2. プロパティウィンドウの「イベント」タブで、Exitをダブルクリック
  3. 下記のようなコードをApp.xaml.csに加える
private void Application_Exit(object sender, ExitEventArgs e)
{
    if (mutex != null)
    {
        mutex.ReleaseMutex();
        mutex.Close();
    }
}

こちらを参考にさせていただいた。

目的達成できたので、今日はこれで終了。