/// <summary>
/// 单实例运行控制
/// </summary>
private static Mutex mutex = null;
private async void Application_Startup(object sender, StartupEventArgs e)
{
bool createNew;
Log.Info("Application_Startup");
mutex = new System.Threading.Mutex(true, "test.exe", out createNew);
Log.Info("Application_Startup createNew" + createNew.ToString());
if (!createNew)
{
Process testProcess;
bool isAppRun = ProcessUtility.HasProcess("test.exe", "test", out gptProcess);
if (isAppRun)
{
SwitchToThisWindow(testProcess.MainWindowHandle, true);
Log.Info($"SwitchToThisWindow End{DateTime.Now.ToString()}");
}
await Task.Delay(1000);
App.Current.Shutdown();
return;
}
}
WPF mutex 控制应用程序只启动一次
最新推荐文章于 2024-02-20 09:50:44 发布