Allow only one instance of the app to run.
This commit is contained in:
parent
81cff101b6
commit
49ab47e42a
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@ -14,9 +15,33 @@ namespace QueueSys
|
|||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
|
if (PriorProcess() != null)
|
||||||
|
{
|
||||||
|
|
||||||
|
MessageBox.Show("Another instance of the app is already running.","Queue System",MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new frmEmployeeView());
|
Application.Run(new frmEmployeeView());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Process PriorProcess()
|
||||||
|
// Returns a System.Diagnostics.Process pointing to
|
||||||
|
// a pre-existing process with the same name as the
|
||||||
|
// current one, if any; or null if the current process
|
||||||
|
// is unique.
|
||||||
|
{
|
||||||
|
Process curr = Process.GetCurrentProcess();
|
||||||
|
Process[] procs = Process.GetProcessesByName(curr.ProcessName);
|
||||||
|
foreach (Process p in procs)
|
||||||
|
{
|
||||||
|
if ((p.Id != curr.Id) &&
|
||||||
|
(p.MainModule.FileName == curr.MainModule.FileName))
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user