1 つのフォームで単純な Windows アプリを作成しました。その目的は、1 つのインスタンスでのみ実行することです。私はミューテックス アプローチを使用し、2 番目のインスタンスが実行を試みたときにメッセージをスローしました。ここで、このメッセージ ボックスを変更し、2 番目のインスタンスを起動しようとするときに最初のインスタンスのみを一番上に表示したいと考えています。私のコードは現在:
namespace WindowsFormsApplication2
{
static class Program
{
[STAThread]
static void Main()
{
bool mutexCreated = false;
System.Threading.Mutex mutex = new System.Threading.Mutex(true,@"Local\WindowsFormsApplication2.WindowsFormsApplication2.exe", out mutexCreated);
if(!mutexCreated )
{
if( MessageBox.Show("The application is already running.Hit the OK to exit", "",MessageBoxButtons.OK, MessageBoxIcon.Information ) != DialogResult.Cancel )
{
mutex.Close();
return;
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}