回答
试试这个: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. 如何运行只有一个应用程序的实例
- 4. 如何只启用我的应用程序的一个实例
- 5. 限制程序只运行一个实例
- 6. WPF +在多个应用程序实例之间进行通信
- 7. 只有一个应用程序的实例
- 8. 从同一个Java应用程序的两个实例中连续执行
- 9. VB.Net WPF单实例应用程序,第一个新实例打开窗口
- 10. 只允许一个应用程序实例
- 11. 如何确保Silverlight OOB应用程序只有一个实例?
- 12. 同时让应用程序只有一个实例
- 13. 只允许一个Chromium应用程序实例
- 14. 如何制作一个WPF Kinect应用程序的可执行版本?
- 15. 创建一个只执行URL转发的Beanstalk应用程序
- 16. 运行一个应用程序的多个实例
- 17. 从另一个应用程序控制WPF应用程序
- 18. 如何限制谷歌应用程序引擎实例只有一个?
- 19. Spark应用程序只使用1个执行程序
- 20. Python - 执行一个实例?
- 21. 将silverlight应用程序的实例限制为一个
- 22. 强制应用程序只运行单核?
- 23. 单个应用程序实例不工作的WPF互斥体
- 24. 如何强制PhoneGap Android应用程序执行自我更新?
- 25. 推送通知代码执行(强制退出应用程序)
- 26. 如何限制在mfc中一次只运行一个应用程序的实例
- 27. 存储过程 - 强制执行顺序
- 28. Django Celery:只执行长时间运行的进程的一个实例
- 29. 命令行参数和单实例WPF应用程序
- 30. 使用互斥锁来强制执行单实例
http://stackoverflow.com/questions/19147/what-is-the-correct-way-to-create-a-single-instance-application – Donnelle 2009-01-05 22:41:05