如何防止我的应用一次又一次启动

这个问题在这里已经有了答案:

  • 创建单实例应用程序的正确方法是什么? 35个答案

  • 这是来自这个答案,这是这个答案的重复。 您检查您的应用程序的条目构造函数是否已在运行该应用程序。

    static void Main() 
    {
        Process currentProcess = Process.GetCurrentProcess();
        var runningProcess = (from process in Process.GetProcesses()
                              where
                                process.Id != currentProcess.Id &&
                                process.ProcessName.Equals(
                                  currentProcess.ProcessName,
                                  StringComparison.Ordinal)
                              select process).FirstOrDefault();
        if (runningProcess != null)
        {
            ShowWindow(runningProcess.MainWindowHandle, SW_SHOWMAXIMIZED);
           return; 
        }
    }
    

    创建应用程序创建的某种形式的全局互斥/事件句柄,然后在打开的例程中检查它是否存在,如果存在,则退出启动路由。

    我在这个答案中给出了一些基本的代码(针对不同的问题),但它展示了你正在尝试做的事情。

    打开全局互斥锁时出现UnauthorizedAccessException

    链接地址: http://www.djcxy.com/p/51155.html

    上一篇: How do I prevent my app from launching over and over again

    下一篇: How to send arguments to a running Process in C#?