C# Come evitare di eseguire due processi della stessa applicazione (it-IT)
Con questo esempio, mostriamo come evitare l'esecuzione di due processi della stessa applicazione. Con vb net possiamo contrassegnare la casella 'rendi a istanza singola' nelle proprietà del progetto alla sezone applicazione.
Questa opzione non è disponibile in un'applicazione in esecuzione con C #, ed è qui che torna utile la classe Mutex.
using System;
* using System.Collections.Generic;*
* using System.Linq;*
* using System.Windows.Forms;*
* using System.Threading;*
* *
namespace MutexClassExample
* {*
* static class Program*
* {*
* static Mutex m;*
* /// <summary>*
* /// Punto di ingresso principale dell'applicazione.*
* /// </summary>*
* [STAThread]*
* static void Main()*
* {*
* bool first = false;*
* m = new Mutex(true, Application.ProductName.ToString(), out first);*
* if ((first))*
* {*
* Application.EnableVisualStyles();*
* Application.SetCompatibleTextRenderingDefault(false);*
* Application.Run(new Form1());*
* m.ReleaseMutex();*
* }*
* else*
* {*
* MessageBox.Show("Application" + " " + Application.ProductName.ToString() + " " +"already running");*
* }*
* }*
* }*
* }*