2014.11.30
カテゴリ:プログラミング
C# 二重起動防止
- C#|二重起動を禁止してコマンドライン引数を取得する
- 先に起動しているプログラムのフォームを操作するときは this.MainForm を使う。
- C# - 二重起動を確実に禁止する
- System.Threading。Mutex を使用する方法。
Mutex の 開放を忘れずに行うこと(異常終了扱いになったりする)。
- System.Threading。Mutex を使用する方法。
static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main(){ Mutex mutex = null; try { mutex = new Mutex(false, Properties.Resources.STR_APP_NAME); if (mutex.WaitOne(0, false)) { // アプリケーションの実行 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { MessageBox.Show("プログラムが二重に起動しています。", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Stop); } } catch (Exception ex) { MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Stop); } finally { if (mutex != null) { GC.KeepAlive(mutex); mutex.Close(); } } } }
Tag: TIPS