C#CorsiWindows

Come leggere chiavi nel registro di sistema in C#

Le chiavi del registro di Windows sono delle variabili di configurazione che potrebbero condizionare alcune opzioni all’interno del vostro Software come ad esempio ciò che deve o non deve essere caricato e le opzioni delle varie finestre.

Per poter leggere una chiave all’interno del vostro dispositivo bisogna conoscere esattamente la posizione in cui essa è allocata. Ad esempio:

Le chivi di registro di DellMobileConnected sono allocate in HKEY_CURRENT_USER\SOFTWARE\Dell\DellMobileConnect

La classe che ci verrà in aiuto per poter leggere le chiavi del registro di sistema è: “Microsoft.Win32.RegistryKey“. Al suo interno ha differenti proprietà quelle di nostro maggior interesse saranno:

  • CurrentUser, punta a HKEY_CURRENT_USER
  • LocalMachine, punta a HKEY_LOCAL_MACHINE
  • ClassesRoot, punta a HKEY_CLASSES_ROOT
  • Users, punta a HKEY_USERS
  • GetValue

Simulando di dover leggere la chiave “WasEverActivated” in “SOFTWARE\Dell\DellMobileConnect”, dovremmo scrivere le seguenti righe di codice:

using Microsoft.Win32;
using System;

namespace ConsoleProjectDS
{
    class Program
    {
        static void Main(string[] args)
        {
            RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Dell\DellMobileConnect");
            Console.WriteLine(key.GetValue("WasEverActivated"));
        }
    }
}

Nel momento in cui andiamo dichiarare una nuova istanza della classe RegistryKey le dobbiamo indicare il percorso nel quale dover puntare. Successivamente tramite la funzione GetValue possiamo visualizzare il valore della chiave che le viene fornito come parametro (nel nostro esempio “WasEverActivated”).

In questo caso abbiamo effettuato l’accesso direttamente nella SubKey ma potevamo dichiarare prima l’istanza della chiave e successivamente quella della subchiave. Nel seguente modo:

using Microsoft.Win32;
using System;

namespace ConsoleProjectDS
{
    class Program
    {
        static void Main(string[] args)
        {
            RegistryKey key = Registry.CurrentUser;
            RegistryKey subKey = key.OpenSubKey(@"SOFTWARE\Dell\DellMobileConnect");
            Console.WriteLine(subKey.GetValue("WasEverActivated"));
        }
    }
}

LINK UTILI

Altro Su C#: https://www.developersumo.com/c-sharp/
I nostri Corsi: https://www.developersumo.com/corsi/
Pagina Instagram: https://www.instagram.com/developer_sumo/?hl=it
Le nostre App su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

You may also like

More in:C#

Leave a reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *