我試圖使用互斥體方法僅允許我的應用程序的一個實例運行。那就是 - 我只需要一臺機器上所有用戶的最多一個實例。我已閱讀了有關此問題的其他各種線索,並且解決方案似乎很直接,但在測試中我無法讓第二個實例無法運行。這裏是我的代碼...單個應用程序實例不工作的WPF互斥體
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
// check that there is only one instance of the control panel running...
bool createdNew = true;
using (Mutex instanceMutex = new Mutex(true, @"Global\ControlPanel", out createdNew))
{
if (!createdNew)
{
Application.Current.Shutdown();
return;
}
}
base.OnStartup(e);
}
}
+1。雅打敗了我;) – 2011-03-21 10:27:57
謝謝@威廉範Rumpt(和@OJ)。這樣可行。我錯誤地認爲互斥體真的是幕後的事情,更多的是在系統層面,而互斥對象實例並不重要。我已經在下面包括了我的新代碼以供將來參考... – flobadob 2011-03-21 11:11:28
@OJ:很高興能夠在「獲勝」方面進行更改:) – 2011-03-21 11:14:12