[C#]多重起動の抑止
多重起動を抑止する
[環境]
VisualStudio2008
C# Windowsフォームアプリケーション
マイクロアドBTパートナーはブログやサイトに貼るだけ。お小遣いをゲットしよう!
Program.cs の最初に以下のようなコードを書く。
static class Program
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
if (IsAlreadyStarted()) return;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
/// <summary>
/// 多重起動制御
/// </summary>
/// <returns>true:起動中/false:起動していない</returns>
static private bool IsAlreadyStarted()
{
string thisProcess = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
if (System.Diagnostics.Process.GetProcessesByName(thisProcess).Length > 1)
{
return true;
}
return false;
}
}