Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
- 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ärdetNamefrånHKEY_CURRENT_USER\Software\MyAppoch 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
GetValueAnvä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:
Namnet på nyckeln är
Nothing(ArgumentNullException).Användaren har inte behörighet att läsa från registernycklar (SecurityException).
Nyckelnamnet överskrider gränsen på 255 tecken (ArgumentException).
.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.