Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De CreateSubKey methode van het My.Computer.Registry object kan worden gebruikt om een registersleutel te maken.
Werkwijze
Een registersleutel maken
Gebruik de
CreateSubKeymethode om op te geven onder welke hive de sleutel moet worden geplaatst, evenals de naam van de sleutel. De parameterSubkeyis niet hoofdlettergevoelig. In dit voorbeeld wordt de registersleutelMyTestKeygemaakt onder HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Een registersleutel maken en er een waarde in instellen
Gebruik de
CreateSubkeymethode om op te geven onder welke hive de sleutel moet worden geplaatst, evenals de naam van de sleutel. In dit voorbeeld wordt de registersleutelMyTestKeygemaakt onder HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")Stel de waarde in met de
SetValuemethode. In dit voorbeeld wordt de tekenreekswaarde ingesteld. 'MyTestKeyValue' op 'Dit is een testwaarde'.My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Voorbeeld
In dit voorbeeld wordt de registersleutel MyTestKey onder HKEY_CURRENT_USER gemaakt en wordt vervolgens de tekenreekswaarde MyTestKeyValue ingesteld op This is a test value.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
"MyTestKeyValue", "This is a test value.")
Robuuste programmering
Bekijk de registerstructuur om een geschikte locatie voor uw sleutel te vinden. U kunt bijvoorbeeld de HKEY_CURRENT_USER\Software sleutel van de huidige gebruiker openen en een sleutel maken met de naam van uw bedrijf. Voeg vervolgens de registerwaarden toe aan de sleutel van uw bedrijf.
Wanneer u het register leest vanuit een webtoepassing, is de huidige gebruiker afhankelijk van de verificatie en imitatie die in de webtoepassing is geïmplementeerd.
Het is veiliger om gegevens naar de gebruikersmap () te schrijven inCurrentUser plaats van naar de lokale computer (LocalMachine).
Wanneer u een registerwaarde maakt, moet u bepalen wat u moet doen als die waarde al bestaat. Een ander proces, misschien een kwaadaardig proces, kan de waarde al hebben gemaakt en toegang tot de waarde kunnen hebben. Wanneer u gegevens in de registerwaarde plaatst, zijn de gegevens beschikbaar voor het andere proces. Gebruik de GetValue methode om dit te voorkomen. Deze retourneert Nothing als de sleutel nog niet bestaat.
Het is niet veilig om geheimen, zoals wachtwoorden, in het register op te slaan als tekst zonder opmaak, zelfs als de registersleutel wordt beveiligd door ACL's (Toegangsbeheerlijsten).
De volgende voorwaarden kunnen een uitzondering veroorzaken:
De naam van de sleutel is
Nothing(ArgumentNullException).De gebruiker heeft geen machtigingen voor het maken van registersleutels (SecurityException).
De sleutelnaam overschrijdt de limiet van 255 tekens (ArgumentException).
De sleutel is gesloten (IOException).
De registersleutel heeft het kenmerk Alleen-lezen (UnauthorizedAccessException).
.NET Framework-beveiliging
Als u dit proces wilt uitvoeren, vereist uw assembly een bevoegdheidsniveau dat door de RegistryPermission klasse wordt verleend. Als u in een gedeeltelijke vertrouwenscontext werkt, kan het proces een uitzondering genereren vanwege onvoldoende bevoegdheden. Op dezelfde manier moet de gebruiker over de juiste ACL's beschikken voor het maken of schrijven naar instellingen. Een lokale toepassing met de beveiligingsmachtiging voor codetoegang heeft bijvoorbeeld mogelijk geen machtiging voor het besturingssysteem. Zie Basisprincipes van codetoegangsbeveiligingvoor meer informatie.
Opmerking
Cas (Code Access Security) is afgeschaft in alle versies van .NET Framework en .NET. Recente versies van .NET respecteren geen CAS-aantekeningen en produceren fouten als CAS-gerelateerde API's worden gebruikt. Ontwikkelaars moeten alternatieve manieren zoeken om beveiligingstaken uit te voeren.