C#中,WinForm启动防止多开处理方法
|
admin
2026年2月23日 12:1
本文热度 138
|
在C#中,Winform桌面程序很多情况下不能多开,为了防止有人误点导致的多开,很多情况下都会在启动方法里面加入防呆。在.NET Framework中,我们可以使用Mutex类,也可以使用Process类。static void Main(){ Mutex mutex = new Mutex(false, "Test", out bool Restar); if (!Restar) { MessageBox.Show("程序已经开启", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Server());}
static void Main(){ int nCount = 0; System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process process in processes) { if (process.ProcessName == "Client") { nCount++; } } if (nCount > 1) { MessageBox.Show("程序已启动!"); return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Server());}
以上两种方法,个人更倾向于第二种,不过截至到目前两种方法都没发现什么异常。
该文章在 2026/2/23 13:15:34 编辑过