0
  1. C# の通常の winform アプリケーションは、デフォルトで複数インスタンスをサポートしていますか?

  2. WPF アプリケーションで複数のインスタンスが作成されるのを防ぐにはどうすればよいですか?

4

2 に答える 2

2
  1. はい、そうです
  2. このmsdnの記事を参照してください

編集:またはさらに良い:コードプロジェクトの記事

于 2013-03-13T13:51:40.613 に答える
1

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);
    }
}
于 2013-03-13T13:55:51.930 に答える