Introduzione
In questo articolo vedremo come gestire le variabili di sistema che possiamo utilizzare nei nostri progetti.
Vedremo come in ambiente “Windows Application”, possiamo leggere, aggiungere, cancellare le variabili d’ambiente, tramite i vari metodi messi a disposizione dalla classe “Environment”.
Creazione del progetto
Tramite l’ambiente di sviluppo Visual Studio 2022 Community, si crea un nuovo progetto di tipo Windows Application, con la versione del Framework .Net 9. Una volta creato il progetto, aggiungiamo nella form un controllo di tipo “DatagridView”, tre pulsante, il tutto come mostrato in figura 1.
Figura 1 – La form la form per le varie operazioni sulle variabili d’ambiente.
Stesura del codice
Terminata la creazione della nostra form per fare le varie prove, facciamo doppio click sulla form, in modo da passare in visualizzazione codice nell’evento load della form.
In questo evento carichiamo tutte le variabili d’ambiente presenti nel sistema.
Per ottenere tutte le variabili, dobbiamo utilizzare il metodo “GetEnvironmentVariables” della classe “Environment” che permette di elencare tutte le variabili d’ambiente. Visualizziamo la chiave ed il valore nella griglia.
Di seguito si riporta il frammento di codice delle suddette operazioni.
C#
private void Form1_Load(object sender, EventArgs e)
{
var variabiliAmbiente = Environment.GetEnvironmentVariables();
var risultato = variabiliAmbiente.Cast<DictionaryEntry>()
.OrderBy(x => x.Key)
.Select(x => new { Chiave =
x.Key, Valore = x.Value })
.ToList();
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.DataSource = risultato;
}
Ora non resta che eseguire il codice per visualizzare a video tutte le variabili d’ambiente.
Torniamo in visualizzazione grafica della nostra form, e facciamo click sul primo pulsante, quello con la dicitura “Ottieni” e che abbiamo assegnato il nome del controllo con il valore “BtnOttieniValore”.
Nell’evento click di questo pulsante, otteniamo il valore della variabile d’ambiente denominata “PATH”.
Di seguito si riporta il frammento di codice dell’evento click del pulsante, per ottenere un valore da una variabile d’ambiente.
C#
private void
BtnOttieniValore_Click(object sender, EventArgs e)
{
string nomeVariabile = "PATH";
string valoreTrovato = Environment.GetEnvironmentVariable(nomeVariabile);
if
(valoreTrovato != null)
{
Console.WriteLine("Il
valore della variabile PATH è " + valoreTrovato );
}
else
{
Console.WriteLine("Variabile
non trovata");
}
}
Ritorniamo in modalità grafica, in modo da visualizzare nella form i vari controlli. Facciamo doppio click sul secondo pulsante, quello con la dicitura “Imposta Valore”, il quale nome del pulsante è “BtnImpostaValore”, in modo da passare in visualizzazione codice.
In questo evento vedremo come creare una nuova variabile ed impostare un valore.
Tramite il metodo “SetEnvironmentVariable” passando come parametri, il nome della nuova variabile d’ambiente, ed il valore della stessa, permette di creare una nuova variabile.
Di seguito si riporta il frammento di codice per creare una nuova variabile e visualizzare nelle griglia tutte le variabili compresa questa nuova.
C#
private void
BtnImpostaValore_Click(object sender, EventArgs e)
{
// Imposta una nuova variabile d'ambiente
string nomeVariabile = "VariabileNuova";
string valoreVariabile = "Valore
della variabile";
Environment.SetEnvironmentVariable(nomeVariabile, valoreVariabile);
var
variabiliAmbiente = Environment.GetEnvironmentVariables();
var
risultato = variabiliAmbiente.Cast<DictionaryEntry>()
.OrderBy(x => x.Key)
.Select(x => new { Chiave =
x.Key, Valore = x.Value })
.ToList();
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.DataSource = risultato;
// Rilevo il valore della nuova variabile d'ambiente
string valoreRilevato = Environment.GetEnvironmentVariable(nomeVariabile);
Console.WriteLine( "Valore:
" + valoreRilevato );
}
Siamo giunti all’ultimo esempio di codice, passiamo in visualizzazione grafica, e nel terzo ed ultimo pulsante, quello con la scritta “Elimina Variabile” al quale abbiamo dato il nome “BtnElimina”, facciamo doppio click in modo che passiamo in visualizzazione codice dell’evento click del pulsante.
Tramite il metodo “SetEnvironmentVariable” della classe “Environment”, possiamo eliminare la variabile d’ambiente passando “null” come valore alla variabile che vogliamo eliminare.
Di seguito si riporta un esempio di codice per eliminare una variabile.
C#
private void btnElimina_Click(object sender, EventArgs e)
{
// Nome della variabile d'ambiente da eliminare
string nomeVariabile = "VariabileNuova";
// Elimina la variabile d'ambiente
Environment.SetEnvironmentVariable(nomeVariabile, null);
var
variabiliAmbiente = Environment.GetEnvironmentVariables();
var
risultato = variabiliAmbiente.Cast<DictionaryEntry>()
.OrderBy(x => x.Key)
.Select(x => new { Chiave =
x.Key, Valore = x.Value })
.ToList();
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.DataSource = risultato;
// Verifica se la variabile d'ambiente è stata eliminata
string retrievedValue = Environment.GetEnvironmentVariable(nomeVariabile);
if (retrievedValue == null)
{
Console.WriteLine( "La
variabile d'ambiente " + nomeVariabile + "
è stata eliminata.");
}
else
{
Console.WriteLine( "Variabile
ambiente ancora presente");
}
}
Conclusioni
L’articolo ha voluto fornire al lettore l’utilizzo delle variabili d’ambiente, in particolar modo fornendo un’introduzione sui vari aspetti di utilizzo. Le classi messe a disposizione dal Framework .Net permettono di semplificare lo sviluppo software, gestendo scenari anche molto complessi.