Nello sviluppo software, può tornare utile avviare l'applicativo una sola volta, e non più esecuzioni contemporaneamente.
Tramite la classe Mutex, possiamo verificare se il programma è in esecuzione, ed in caso che è già avviato, evitare che venga aperta un'altra istanza.
Di seguito si riporta il frammento di codice, da inserire nella classe "Program", quella utilizzata per l'avvio del programma .
Dopo la dichiarazione di classe di Program, si crea un oggetto di tipo Mutex, di seguito il frammento di codice
C#
internal static class Program
{
private static Mutex? mutex = null;
Nel metodo Main della classe "Program", inizializziamo l'oggetto, e nel costruttore il valore che ci restituisce come secondo parametro, di tipo boolean, verifichiamo se è già avviato oppure no, in caso che è già avviato, visualizziamo un messaggio a video ed usciamo dal programma senza continuare.
Di seguito si riporta il frammento di codice delle suddette operazioni.
C#
[STAThread]
static void Main()
{
const string
NomeApplicazione = "WinTestVersione10";
bool IsEsecuzione;
mutex = new Mutex(true,
NomeApplicazione, out IsEsecuzione);
if (!IsEsecuzione)
{
MessageBox.Show("applicativo già avviato");
return;
}
// To customize application configuration such as set
high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
Nessun commento:
Posta un commento