C#实现只允许一个实例运行
string AppName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
Process[] processes = System.Diagnostics.Process.GetProcessesByName(AppName);
int pid = Process.GetCurrentProcess().Id;
for (int i = 0; i < processes.Length; i++)
{
if (pid != processes[i].Id && processes[i].MainModule.FileName == Assembly.GetExecutingAssembly().Location)
{
DebugOutput.ProcessMessage(String.Format("[INFO] 应用程序已经在运行中。"));
Thread.Sleep(100);
System.Environment.Exit(1);
return;
}
}