Dela via


Anvisningar: Läsa ett värde från en registernyckel i Visual Basic

- GetValue metoden för My.Computer.Registry objektet kan användas för att läsa värden i Windows-registret.

Om nyckeln "Software\MyApp" i följande exempel inte finns genereras ett undantag. ValueNameOm "Namn" i följande exempel inte finns Nothing returneras.

Metoden GetValue kan också användas för att avgöra om ett visst värde finns i en specifik registernyckel.

När koden läser registret från ett webbprogram bestäms den aktuella användaren av den autentisering och personifiering som implementeras i webbprogrammet.

Läsa ett värde från en registernyckel

  • Använd GetValue-metoden och ange sökvägen och namnet för att läsa ett värde från en registernyckel. I följande exempel läss värdet Name från HKEY_CURRENT_USER\Software\MyApp och visas det i en meddelanderuta.

    Dim readValue = My.Computer.Registry.GetValue(
        "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing)
    MsgBox("The value is " & readValue)
    

Det här kodexemplet är också tillgängligt som ett IntelliSense-kodfragment. I kodfragmentväljaren finns den i Windows Operativsystemregister>. Mer information finns i kodfragment.

Så här avgör du om ett värde finns i en registernyckel

  • GetValue Använd metoden för att hämta värdet. Följande kod kontrollerar om värdet finns och returnerar ett meddelande om det inte gör det.

    If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp",
    "TestValue", Nothing) Is Nothing Then
        MsgBox("Value does not exist.")
    End If
    

Robust Programmering

Registret innehåller nycklar på den översta nivån eller roten som används för att lagra data. Till exempel används den HKEY_LOCAL_MACHINE rotnyckeln för att lagra inställningar på datornivå som används av alla användare, medan HKEY_CURRENT_USER används för att lagra data som är specifika för en enskild användare.

Följande villkor kan orsaka ett undantag:

.NET Framework-säkerhet

För att köra den här processen kräver din programenhet en behörighetsnivå som beviljats av RegistryPermission klass. Om processen körs i en begränsad förtroendekontext kan ett undantag utlösas på grund av otillräcklig behörighet. På samma sätt måste användaren ha rätt ACL:er för att skapa eller skriva till inställningar. Ett lokalt program som har kodåtkomstsäkerhetsbehörighet kanske till exempel inte har operativsystembehörighet. Mer information finns i Grunderna för kodåtkomstsäkerhet.

Anmärkning

Code Access Security (CAS) har föråldrats i alla versioner av .NET Framework och .NET. De senaste versionerna av .NET följer inte CAS-anteckningar och skapar fel om CAS-relaterade API:er används. Utvecklare bör söka alternativa sätt att utföra säkerhetsuppgifter.

Se även