在启动对象类中Program.cs添加如下如下限制即可: using System.Threading;
[STAThread]
static void Main()
{
bool create;
using (Mutex mu = new Mutex(true, Application.ProductName, out create))
{
if (create)
{
Run();
}
else
{
MessageBox.Show("程序已经运行!");
}
}
}
/// <summary>
/// 启动程序
/// </summary>
static void Run()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
[STAThread]
static void Main()
{
bool create;
using (Mutex mu = new Mutex(true, Application.ProductName, out create))
{
if (create)
{
Run();
}
else
{
MessageBox.Show("程序已经运行!");
}
}
}
/// <summary>
/// 启动程序
/// </summary>
static void Run()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
本文介绍了一种利用Mutex来防止Windows应用程序被重复启动的方法。通过在程序启动时创建一个Mutex,并检查该Mutex是否已存在,可以有效地避免同一程序实例多次运行。如果Mutex已存在,则提示用户程序已经在运行。
1634

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



