1. 程式人生 > >WPF實現單程序例項應用程式(像Word一樣可以開啟多個檔案)

WPF實現單程序例項應用程式(像Word一樣可以開啟多個檔案)

第一步
新建一個WPF應用程式,取名WPFSingleInstance
第二步
專案中新增引用:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client\Microsoft.VisualBasic.dll
第三步:
在MainWindow中添加個一個Button,用來顯示
第四步:
新建一個檔案,並重新命名名稱空間,並新增如下程式碼:

namespace MyAppStartup
{
    public class Startup
    {
        [STAThread]
        public
static void Main(string[] args) { SingleInstanceApplicationWrapper wrapper = new SingleInstanceApplicationWrapper(); wrapper.Run(args); } } public class SingleInstanceApplicationWrapper : WindowsFormsApplicationBase { private App app; // The actual WPF Application
private int Num=0; public SingleInstanceApplicationWrapper() { this.IsSingleInstance = true; } // The first open protected override bool OnStartup(Microsoft.VisualBasic.ApplicationServices.StartupEventArgs e) { app = new
App(); MainWindow win = new MainWindow(); win.Title = Num.ToString(); app.Run(win); return false; } // The next open protected override void OnStartupNextInstance(StartupNextInstanceEventArgs e) { Num += 1; MainWindow win = new MainWindow(); win.Title = Num.ToString(); win.Show(); } } /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { } }

第五步:
右鍵專案屬性->Application->Startup Object下拉選單選擇MyAppStartup.Startup

第六步:
Build,然後生成exe檔案,開啟exe,會產生一個視窗,再雙擊exe檔案,又產生一個視窗,但是你在工作管理員中檢視,只有一個程序。