回答
試試這個:Single instance application。我使用了第二種方法,它工作正常。
第二種方法是我找到的最好的方法。只要克服它使用Microsoft.VisualBasic DLL的事實,它會完成你需要的一切 - 包括正確使用.NET Remoting(不需要套接字或互斥體來創建自己)。但最重要的是,它可以很容易地將參數傳遞給已經運行的應用程序,或者當您嘗試重新打開它時簡單地將它帶到前面 – 2010-09-27 22:25:07
http://blogs.microsoft.co.il/blogs/arik/archive/2010/05/28/wpf-single-instance-application.aspx
不需要VB.DLL一些其他的例子提出建議。 有WPF示例代碼。 將任何cmd行參數傳遞給初始實例。
我非常喜歡這種方法,它允許您執行諸如激活最小化窗口用戶嘗試再次運行該程序。 – Andy 2012-12-13 14:50:38
退房這一解決方案:Allowing only one instance of a WPF application to execute
這不僅強制執行的應用程序的一個實例,但它也給你目前的應用重點在應用程序的其他實例中運行。我的mutex解決方案限制一個實例實際上與上面的鏈接不同,但我喜歡這個解決方案的「焦點」元素。
我用這個helper方法,並從application.startup事件
Public Sub ForceSingleInstanceApplication()
'Get a reference to the current process
Dim MyProc As Process = Process.GetCurrentProcess
'Check how many processes have the same name as the current process
If (Process.GetProcessesByName(MyProc.ProcessName).Length > 1) Then
'If there is more than one, it is already running
MsgBox("Application is already running", MsgBoxStyle.Critical, My.Application.Info.Title) 'Reflection.Assembly.GetCallingAssembly().GetName().Name)
' Terminate this process and give the operating system the specified exit code.
Environment.Exit(-2)
Exit Sub
End If
End Sub
用戶sobelito
聯this後,它具有以下update調用它。它所說的是,對於更新的資源,您應該使用Windows 7 Taskbar Single Instance,如果您查看源代碼將允許您執行所需的操作。
您可以使用SingleInstance
c#項目。它還包含WinForms和WPF的樣本。
請注意,它也是在Apache 2.0許可下發布的,與Microsoft博客中的Arik的Poznanski發佈不同,它不是商業可用的(IANAL,AFAIK)。
- 1. 如何強制C#.net應用程序在Windows中只運行一個實例?
- 2. 如何強制執行我的應用程序的單個實例?
- 3. Spark Scheduler強制執行應用程序
- 4. 如何運行只有一個應用程序的實例
- 5. 從一個實例運行另一個應用程序實例。
- 6. 強制swf應用程序的實例在運行時運行一次
- 7. 如何只啓用我的應用程序的一個實例
- 8. 限制程序只運行一個實例
- 9. WPF +在多個應用程序實例之間進行通信
- 10. 如何打開我的應用程序只是一個實例
- 11. 只有一個應用程序的實例
- 12. VB.Net WPF單實例應用程序,第一個新實例打開窗口
- 13. 從同一個Java應用程序的兩個實例中連續執行
- 14. 如何製作一個WPF Kinect應用程序的可執行版本?
- 15. 如何確保Silverlight OOB應用程序只有一個實例?
- 16. 只允許一個應用程序實例
- 17. 確保只有一個應用程序實例
- 18. 同時讓應用程序只有一個實例
- 19. 只允許一個Chromium應用程序實例
- 20. 從另一個應用程序控制WPF應用程序
- 21. c#多個應用程序實例只連接到一個USB串行設備
- 22. 創建一個只執行URL轉發的Beanstalk應用程序
- 23. 運行一個應用程序的多個實例
- 24. 通過應用程序同時執行相同程序包的多個實例?
- 25. 如何確保只有一個iOS應用程序的實例正在運行?
- 26. WPF應用程序執行路徑
- 27. Spark應用程序只使用1個執行程序
- 28. 如何限制谷歌應用程序引擎實例只有一個?
- 29. 這是一個可執行的應用程序嗎? /執行一個javascript程序
- 30. 將silverlight應用程序的實例限制爲一個
http://stackoverflow.com/questions/19147/what-is-the-correct-way-to-create-a-single-instance-application – Donnelle 2009-01-05 22:41:05