本文最后更新于 2019年 4月 20号 14点 11分,并同步发布于 :
如果我们不希望用户打开两个应用程序实例, 可以通过下面的方式来实现此目的
首先, 删除 App.xaml 文件, 新建一个 App.cs 文件
完成之后项目的结构 :
因为要在
App类之前执行一些代码, 所以不能使用App.xaml文件
然后添加引用 Microsoft.VisualBasic
然后开始编写代码
需要的 using 指令组 :
由于
Microsoft.VisualBasic.ApplicationServices和System.Windows这两个命名空间都定义了我们即将使用的StartupEventArgs类型, 所以分别对这两个命名空间设置一个别名
首先编写 App 类, 并设置启动时的窗口
然后创建一个继承自 WindowsFormsApplicationBase 的类
在
OnStartup()方法中创建App类, 并调用Run()方法
在OnStartupNextInstance()方法中, **一个窗口, 提示用户, 程序已经在运行了
最后手动编写 Main() 方法, 创建一个 SingleInstanceApp 对象并调用 Run() 方法
—END—