这是我的代码 我在调试模式下尝试过。有用。 虽然在发布时不是为什么?它是一个WPF应用程序
我在Main方法中输入的这段代码用于检查应用程序是否正在运行。我希望单个实例只能运行。我只从Stack Overflow复制了这段代码。
[STAThread]
static void Main()
{
const string MutexName = "{8F6F0AC4-B9A1-45fd-A8CF-72F04E6BDE8F}";
try
{
Mutex mutex = new Mutex(true, MutexName);
if (mutex.WaitOne(TimeSpan.Zero, true))
{
mutex.ReleaseMutex();
//Here Application logic
}
else
{
MessageBox.Show("Application is alreadey running.");
Environment.Exit(1);
}
}
catch
{
Environment.Exit(1);
}
}
答案 0 :(得分:0)
我不知道具体原因。但这种修改工作
[STAThread]
static void Main()
{
const string MutexName = "8F6F0AC4-B9A1-45fd-A8CF-72F04E6BDE8F";
try
{
Mutex mutex;
if (!Mutex.TryOpenExisting(MutexName, out mutex))
{
mutex = new Mutex(true,MutexName);
var app = new App();
app.Run();
}
else
{
Environment.Exit(1);
}
}
catch
{
Environment.Exit(1);
}
}