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.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
@ -14,9 +15,33 @@ namespace QueueSys
|
|||
[STAThread]
|
||||
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.SetCompatibleTextRenderingDefault(false);
|
||||
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