我有一个正在运行的WPF应用程序。当我尝试在已有实例正在运行的情况下再次运行该程序时,新实例应打开已运行的实例并自行关闭。
类似这里:
How to check if a WPF application is already running? ==>在此解决方案中,ShowWindow(runningProcess.MainWindowHandle, SW_SHOWMAXIMIZED);
打开了已经运行的实例。
但是在这种情况下这不起作用。 ShowWindow()
的问题在于,它只会使已经显示的窗口成为焦点。这意味着,如果当前的wpf应用程序在后台运行且所有窗口都被隐藏(window.hide()
),则不会发生任何事情。
我要做的是触发window.show();
或类似事件,并使已运行实例的隐藏窗口再次显示。
有人知道解决方案或最佳做法吗?