在启动程序时候,有时候在启动一个后不能再次启动,需要我们做一些判断。
public static class SingletonRunProgram
{
public static void SingletonRunApp(string programFlag = "")
{
try
{
var programMutexName = $"{nameof(SingletonRunProgram)}_{Assembly.GetCallingAssembly().FullName}";
if (!string.IsNullOrEmpty(programFlag))
{
programMutexName += $"_{programFlag}";
}
var runMutex = new Mutex(true, programMutexName, out var createdNew);
if (!createdNew)
{
Environment.Exit(0);
}
}
catch
{
Environment.Exit(0);
}
}
}