windows窗体应用程序是否默认支持多个实例?C#

本文关键字:实例 支持 窗体 应用程序 是否 默认 windows | 更新日期: 2023-09-27 18:03:46

  1. C#中的普通winform应用程序是否默认支持多实例?

  2. 如何防止在WPF应用程序中创建多个实例?

windows窗体应用程序是否默认支持多个实例?C#

  1. 是的
  2. 请参阅这篇msdn文章

编辑:甚至更好:代码项目文章

1-是的,您可以执行应用程序的许多实例。有了一些代码,你就可以避免它。

2-在App.xaml.cs中,您可以覆盖一些方法并使用Mutex:

public partial class App : Application
{
    private Mutex instanceMutex = null;
    protected override void OnStartup(StartupEventArgs e)
    {
        Boolean createdNew;
        this.instanceMutex = new Mutex(true, "MyApplication", out createdNew);
        if (!createdNew)
        {
            this.instanceMutex = null;
            Application.Current.Shutdown();
            return;
        }
        base.OnStartup(e);
    }
    protected override void OnExit(ExitEventArgs e)
    {
        if (this.instanceMutex != null)
        {
            this.instanceMutex.ReleaseMutex();
        }
        base.OnExit(e);
    }
}