Program.csふぁいるに下記を追記します。
///
/// アプリケーションのメイン エントリ ポイントです。
///
[STAThread]
static void Main()
{
const string MUTEX_NAME = "MutexApplication";
// Mutex インスタンスを生成します。二番目の引数 MUTEX_NAME は生成する Mutex の識別名です。
System.Threading.Mutex mutex = new System.Threading.Mutex( false, MUTEX_NAME );
// WaitOne メソッドを使って、所有権を得ます。
// 最初の引数で 0 ミリ秒を指定して、所有権が取得できなくても待ちません。
if ( mutex.WaitOne( 0, false ) )
{
// 下記の色付のコードはデフォルトで記入されているコードです。
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault( false );
Application.Run( new Form1() );
mutex.ReleaseMutex();
}
else
{
// WaitOne メソッドで所有権を取得できなかった場合の処理です。
MessageBox.Show( "アプリケーションは既に起動しています。", "タイトル");
}
mutex.Close();
}
コメント