wpf 单实例应用程序包装器

wpf应用程序在打开多个程序时会创建多个任务,如果只想打开一个实例,需要用到单实例包装器。

一。目录结构,startup.cs为程序入口,WpfApp为应用程序启动项,SingleInstanApp为单实例应用程序包装器。

wpf 单实例应用程序包装器

 

二。WpfApp,cs

继承于Application,app.Run时会进入重写的OnStartup方法。

wpf 单实例应用程序包装器

 

 三。starup.cs 

注释为创建多实例,每次打开程序,会创建一个WpfApp实例。如果只想创建一个实例,此时需要通过wrapper去创建WpfApp。

wpf 单实例应用程序包装器

 

 三。SingleInstanceApplicaitonWrapper.cs

1,添加引用VB

wpf 单实例应用程序包装器

 

 2.SingleInstanceApplicaitonWrapper.cs

构造函数,允许单实例。

startup,启动WpfApp

startupnextInstance,在运行包装器时,仅仅调用WpfApp的showwindow方法不创建Wpfapp实例。

wpf 单实例应用程序包装器

 

 

结果。

 wpf 单实例应用程序包装器

wpf 单实例应用程序包装器

上一篇:01Web API


下一篇:C# LINQ学习笔记三:LINQ to OBJECT之操作字符串