废话不多说,做c#程序的都知道,c#的windows窗体程序并不是一开始就启动窗体,而是首先启动program.CS然后才启动的窗体。
那么这样我们只需要修改program.cs就能达到控制程序只能够运行一个实例了...
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Diagnostics;
namespace WindowsApplication1
{
static class Program
{
static void Main()
{
string proc = Process.GetCurrentProcess().ProcessName;
Process[] processes = Process.GetProcessesByName(proc);
if (processes.Length >= 2)
{
MessageBox.Show("系统中已经有一个程序进程在运行, 您不能同时运行多个实例.", "提示:");
return;
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
}
-----------------------------------程序员 闫帆原创---------------------------------------
转载请注明原创人信息 程序员 闫帆yanfanvip