wpf应用程序在打开多个程序时会创建多个任务,如果只想打开一个实例,需要用到单实例包装器。
一。目录结构,startup.cs为程序入口,WpfApp为应用程序启动项,SingleInstanApp为单实例应用程序包装器。
二。WpfApp,cs
继承于Application,app.Run时会进入重写的OnStartup方法。
三。starup.cs
注释为创建多实例,每次打开程序,会创建一个WpfApp实例。如果只想创建一个实例,此时需要通过wrapper去创建WpfApp。
三。SingleInstanceApplicaitonWrapper.cs
1,添加引用VB
2.SingleInstanceApplicaitonWrapper.cs
构造函数,允许单实例。
startup,启动WpfApp
startupnextInstance,在运行包装器时,仅仅调用WpfApp的showwindow方法不创建Wpfapp实例。
结果。