C#如何判断我的程序已经有一个实例正在运行

时间:2023-03-09 18:31:24
C#如何判断我的程序已经有一个实例正在运行
     static class Program
{
private static Mutex mutex;
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
mutex = new Mutex(true, "OnlyRun");
if (mutex.WaitOne(, false))
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("程序已经运行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
Application.Exit();
}
}
}

使用Mutex互斥体技术。

这两句

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false);

可以去掉...但是...

去掉第一句...你的程序就不能使用Windows的主题和样式,在XP和Vista中会很难看...

去掉第二句...你的程序不使用GDI+,UI渲染会慢一些,可以与.NET 1.x程序媲美...