c# 限制同时启动多个实例程序运行

Posted wgscd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 限制同时启动多个实例程序运行相关的知识,希望对你有一定的参考价值。

 

 

 
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
   public  class MultiRunChecker{
  

      public   static bool  hasMultiRun()
        {

            Process[] ps = Process.GetProcessesByName(Assembly.GetExecutingAssembly().GetName().Name);
            if (ps != null && ps.Length > 1)
            {

                //发现重复进程
                return true;
            }

            return false;

        }
    }
}


调用:
//防止改名运行
 if (!Application.ExecutablePath.EndsWith(Assembly.GetExecutingAssembly().GetName().Name+".exe")) {
                MessageBox.Show("app not valid");
                Application.Exit();
            }

            if (MultiRunChecker.hasMultiRun()) {、、防止多个程序运行

                MessageBox.Show("has");
                Application.Exit();

            }

  

以上是关于c# 限制同时启动多个实例程序运行的主要内容,如果未能解决你的问题,请参考以下文章

多次启动 Adob​​e AIR 应用程序

如何按名称限制运行 Celery 任务的最大数量

从 Visual Studio 启动时,C# ReleaseMutex() 未在控制台应用程序的多个实例中释放互斥锁

C# Windows 服务 - 我的计时器不工作,获得多个线程

多个用户访问同一段代码

限制 C# 和 Windows 中评估软件的启动或运行时间