namespace TestListView { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { if (CreateMutex("MutexName")) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); ReleaseMutex(); } else { MessageBox.Show( "已经有一个实例运行,只能运行一个实例!" ,"程序名称", MessageBoxButtons.OK); } } private static Mutex mutex = null; public static bool CreateMutex(string name) { bool result = false; mutex = new Mutex(true, name, out result); return result; } public static void ReleaseMutex() { if (mutex != null) { mutex.Close(); } } } }
保证程序只有一个实例运行是常见的编程任务,而使用互斥体是实现这一任务的最简单方式。
源码已经有了,其他的不用说了。
本文介绍了一种使用互斥体确保应用程序仅运行一个实例的方法。通过创建并使用互斥体对象,可以防止同一程序的多个实例同时运行,适用于需要限制运行实例数目的应用场景。
2397

被折叠的 条评论
为什么被折叠?



