作爲標題狀態,我想創建一個實例程序並在另一個實例啓動時顯示MainWindow。 我已經顯示消息,只允許一個實例。WPF,如何製作一個實例,並顯示另一個實例在c中啓動時的MainWindow。
public class MyApplication
{
static Mutex mutex = new Mutex(true, "FirstInstance");
[STAThread]
public static void Main(string[] args)
{
if (mutex.WaitOne(TimeSpan.Zero, true))
{
App app = new App();
app.InitializeComponent();
app.Run();
}
else
{
MessageBox.Show("only one instance at a time");
}
}
}
這工作得很好,但我想說明主窗口,而不是一個消息,所以我
static Application app;//change app to static
if (mutex.WaitOne(TimeSpan.Zero, true))
{
app = new App();
app.InitializeComponent();
app.Run();
}
else
{
app.MainWindow.WindowState = WindowState.Normal;
}
嘗試,我得到「System.NullReferenceException:對象不設置到對象的實例」 。它似乎MainWindow在應用程序(這是靜態的)是空的,我不明白爲什麼。
所以我試過這篇文章http://sanity-free.org/143/csharp_dotnet_single_instance_application.html 但是WndProc方法在WPF中不存在。
我希望你能幫助我。 謝謝!
因爲首先你需要創建實例App和Mainwindow。 – ethicallogics