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# 限制同时启动多个实例程序运行的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual Studio 启动时,C# ReleaseMutex() 未在控制台应用程序的多个实例中释放互斥锁