本文最后更新于 2019年 4月 20號 下午 2點 10分,并同步發(fā)布于 :
如果我們不希望用戶打開兩個應(yīng)用程序?qū)嵗? 可以通過下面的方式來實現(xiàn)此目的
首先, 刪除App.xaml文件, 新建一個App.cs文件
完成之后項目的結(jié)構(gòu) :

因為要在
App類之前執(zhí)行一些代碼, 所以不能使用App.xaml文件
然后添加引用Microsoft.VisualBasic
然后開始編寫代碼
需要的using指令組 :
由于
Microsoft.VisualBasic.ApplicationServices和System.Windows這兩個命名空間都定義了我們即將使用的StartupEventArgs類型, 所以分別對這兩個命名空間設(shè)置一個別名

首先編寫
App類, 并設(shè)置啟動時的窗口
然后創(chuàng)建一個繼承自WindowsFormsApplicationBase的類
在
OnStartup()方法中創(chuàng)建App類, 并調(diào)用Run()方法
在OnStartupNextInstance()方法中, 激活一個窗口, 提示用戶, 程序已經(jīng)在運行了

最后手動編寫Main()方法, 創(chuàng)建一個SingleInstanceApp對象并調(diào)用Run()方法

---END---