使用内核对象Mutex可以防止同一个进程运行两次
用互斥法实现防止程序重复运行,使用内核对象Mutex可以防止同一个进程运行两次。注意:是名称相同的进程,而不是exe,因为exe程序可以改名。
在Program.cs中修改
首先添加using System.Threading;引用
然后原内容改为下面所示
static class Program { private static Mutex myMutex; private static bool requestInitialOwnership = true; private static bool mutexWasCreated; /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { //原来代码 //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Form1()); //新代码 myMutex = new Mutex(requestInitialOwnership, "CanbeAnything ", out mutexWasCreated); if (mutexWasCreated) { Application.Run(new Form1()); myMutex.WaitOne(); } } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步