Leggere e scrivere chiavi nel registro di sistema in Visual C# ti consentirà di sfruttare il database di Windows per memorizzare parametri ed impostazioni.
Un tempo le impostazioni e i parametri di un programma venivano salvati in file .ini, documenti di puro testo memorizzati in genere nel percorso del programma e in cui venivano riportati tutti i parametri salvati. Tuttavia, si preferisce salvare il tutto all’interno del Registro di Sistema, un database gerarchico ed organizzato in grado di memorizzare impostazioni specifiche. Ciò ha portato alla deprecazione dei file .INI, poco efficaci soprattutto nelle applicazioni multiutenti e soppiantati, nel caso si voglia comunque adattare dei file di configurazione, dai più moderni file XML. Per approfondire l’argomento Registro di Sistema, leggi il mio articolo Guida: come è fatto il registro di sistema.
Ad esempio: se voglio che il mio software memorizzi la scelta di un utente di passare alla dark mode in modo tale da riutilizzarla anche nelle aperture successive, posso memorizzare una chiave nel registro di sistema da richiamare all’avvio dell’applicazione.
Creare e memorizzare chiavi di registro
Per memorizzare le chiavi di registro è necessario conoscere la sua struttura per poter andare a scegliere il percorso ideale. Il metodo statico CreateSubKey restituisce l’oggetto RegistryKey con il quale possiamo creare e modificare le chiavi di registro e le relative sottochiavi con valore.
Dichiara il namespace Microsoft.Win32 con la direttivausing Microsoft.Win32
// accesso alla radice HKEY_CURRENT_USER
// creazione della chiave all'interno della chiave SOFTWARE (utilizzata per memorizzare le chiavi di registro dei software)
RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\myApp");
// memorizza i valori all'interno delle sottochiavi
key.SetValue("sottochiave1", "hello");
key.SetValue("sottochiave2", "world!");
key.Close();
Una volta eseguito questo codice, ti basterà recarti nel registro di sistema inHKEY_CURRENT_USER/SOFTWARE/myApp

Leggere le chiavi di registro
Per leggere le chiavi del registro di sistema in Visual C# ti basterà inserire il codice seguente
// apri la sottochiave
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\myApp");
// verifica che esiste, nel caso sia vero ricavane i valori
if (key != null)
{
Console.WriteLine(key.GetValue("sottochiave1"));
Console.WriteLine(key.GetValue("sottochiave2"));
key.Close();
}



Blogger e scrittore ventenne nato a Taranto. Collabora con diverse agenzie di marketing digitale e operativo. Ha pubblicato il manuale Windows 10: Guide e Soluzioni e il libro di narrativa storica Cronache di un Palazzo Abbandonato.