header
CodePanic! > C#.NET Tips > 今ここ

■二重起動防止

Mutexを使って二重起動を防止します。
具体的には、FormLoad時などにMutexを作成してみて
既に作成されていれば二重起動されたと見なします。
private System.Threading.Mutex mutex;

private void Form1_Load(object sender, System.EventArgs e)
{
    // Mutexを作成(Mutex名はユニークな名前を付けてください)
    mutex = new System.Threading.Mutex( false, "unko" );
    if ( !mutex.WaitOne( 0, false ) )
    {
        MessageBox.Show( "二重起動です!", "INFO" );
        this.Close();
    }
}

private void Form1_Closed(object sender, System.EventArgs e)
{
    // 作成したMutexをクローズ
    mutex.Close();
}




Copyright © 2008.07 - shougo suzaki