【问题标题】:Start application just one time C# [duplicate]只需一次启动应用程序C# [重复]
【发布时间】:2012-07-17 12:40:37
【问题描述】:

我只是在 C# 中制作了一个应用程序,但我不喜欢它。我想让应用程序只运行一次。现在,如果我的应用程序正在运行,当我再次运行该应用程序时,将启动另一个应用程序。我想让应用程序只能运行一次,如果你想再次运行应用程序,不是创建另一个应用程序,而是启动正在运行的应用程序。

谢谢。

【问题讨论】:

标签: c# forms single-instance


【解决方案1】:

我实现这一点的方法是使用Mutex。应用程序的每个实例都尝试在启动时锁定互斥锁。如果他们成功了,他们就可以跑;如果他们失败了,他们不会。

无法运行的应用程序也会恢复并激活正在运行的实例。这取决于它是 WPF 还是 WinForms 应用程序,实现方式不同。

互斥体方法的优点是它比使用 FindWindow 更不容易出现竞争条件。

【讨论】:

    【解决方案2】:

    请检查这个问题:Run single instance of an application using Mutex

    您正在寻找Mutex 以检查您的应用程序是否正在运行。然后找到你正在运行的应用程序Process 并提出来。

    【讨论】:

      【解决方案3】:

      您所指的概念是“单实例应用程序”。 这通常通过命名的可等待对象来实现,请查看this articlethis one

      【讨论】:

        【解决方案4】:

        当您的应用程序启动时,您必须查看您的应用程序实例是否已经运行的进程,然后根据它做出决定。

        可能的重复:

        Detecting a Process is already running in windows using C# .net

        How to check already running exe in c#.net?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-07-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多