我只是在C#中创建应用程序,但我不喜欢。我想让应用程序运行一次。现在,如果我的应用程序正在运行,当我再次运行应用程序时,将启动另一个应用程序。我想让应用程序只运行一次,如果你想再次运行应用程序,不要创建另一个应用程序,而是启动正在运行的应用程序。启动应用程序只是一次C#
谢谢。
我只是在C#中创建应用程序,但我不喜欢。我想让应用程序运行一次。现在,如果我的应用程序正在运行,当我再次运行应用程序时,将启动另一个应用程序。我想让应用程序只运行一次,如果你想再次运行应用程序,不要创建另一个应用程序,而是启动正在运行的应用程序。启动应用程序只是一次C#
谢谢。
请检查这个问题:Run single instance of an application using Mutex
您正在寻找Mutex
检查,如果你的应用程序运行。然后找到正在运行的应用程序Process
并将其展开。
当你的应用程序启动时,你必须看到你的应用程序实例已经运行或没有运行的进程,然后根据它做出决定。
可能的重复:
Detecting a Process is already running in windows using C# .net
你所指的概念是 “单实例应用程序”。 这通常通过命名的等待对象来实现,查看this article或this one。
我实现这个的方式是使用Mutex
。应用程序的每个实例都会在启动时尝试锁定互斥锁。如果他们成功了,他们就会跑步;如果他们失败了,他们不会。
无法运行的应用程序还会恢复并激活正在运行的实例。取决于它是WPF还是WinForms应用程序,这取决于不同的方式。
互斥方法的优势在于它比使用FindWindow更不易发生竞态条件。
谷歌呢? https://www.google.com/search?q=single%20instance%20application%20.net – 2012-07-18 13:05:30
或这一个http://stackoverflow.com/questions/93989/prevent-multiple-instances-of-a-given -app-在网 – 2012-07-18 13:07:49