[STAThread]
static void Main()
{
Process Instance = RunningInstance();
if (Instance == null)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show("条码打印程序已经在运行,请勿多开!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ActiveForm(Instance);
}
}
private static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] ProcessList = Process.GetProcessesByName(current.ProcessName);
for (int i = 0; i < ProcessList.Length; i++)
{
if (ProcessList[i].Id != current.Id)
{
if (ProcessList[i].MainModule.FileName == current.MainModule.FileName)
{
return ProcessList[i];
}
}
}
return null;
}