我们用C#开发程序往往会忽略一些细节问题:
比如我们主程序启动
在此点击主程序又启动一个
这时候我们需要做一个防呆处理。
我们可以使用互斥体Mutex类型完成此功能
具体看代码:
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
CommTool.ExceptionHandling.CatchGlobalException();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
/*使程序只能启动一个*/
//声明互斥体
Mutex mutex = new Mutex(false, "ThisShouldOnlyRunOnce");
//判断互斥体是否在使用中
bool Runing = !mutex.WaitOne(0,false);
if (!Runing)
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("已经有一个实例运行中!");
}
这样我们就可以防止启动多个主程序。