实现程序自重启
程序运行过程中,不能有多个实例运行,并且需要程序自己可以重启(重新运行),所以代码如果下代码:
- static void Main() {
- bool createNew; using (System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out createNew))
- { if (createNew)
- { Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1());
- } else
- { MessageBox.Show("Only one instance of this application is allowed!");
- } }
- } Boolean createdNew; //返回是否赋予了使用线程的互斥体初始所属权
- System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew); //同步基元变量 if (createdNew) //赋予了线程初始所属权,也就是首次使用互斥体
- { Application.Run(new Form1()); /s/这句是系统自动写的
- instance.ReleaseMutex(); }
- else {
- MessageBox.Show("已经启动了一个程序,请先退出!","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Error); Application.Exit();
- }
用以上代码实现了禁止多重启动的功能。
同时程序关闭重启是通过下面的代码实现的:










