Udostępnij za pośrednictwem


Porady: tworzenie klucza rejestru i określanie jego wartości w Visual Basic

Metodę CreateSubKeyMy.Computer.Registry obiektu można użyć do utworzenia klucza rejestru.

Procedura

Aby utworzyć klucz rejestru

  • CreateSubKey Użyj metody , określając gałąź, w której ma być umieszczany klucz, a także nazwę klucza. Subkey Parametr nie uwzględnia wielkości liter. W tym przykładzie tworzony jest klucz MyTestKey rejestru w HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

Aby utworzyć klucz rejestru i ustawić w nim wartość

  1. CreateSubkey Użyj metody , określając gałąź, w której ma być umieszczany klucz, a także nazwę klucza. W tym przykładzie tworzony jest klucz MyTestKey rejestru w HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. Ustaw wartość za pomocą SetValue metody . W tym przykładzie ustawiono wartość ciągu. Wartość "MyTestKeyValue" do "To jest wartość testowa".

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
      "MyTestKeyValue", "This is a test value.")
    

Przykład

W tym przykładzie tworzony jest klucz MyTestKey rejestru w HKEY_CURRENT_USER, a następnie ustawia wartość MyTestKeyValue ciągu na This is a test valuewartość .

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.")

Niezawodne programowanie

Sprawdź strukturę rejestru, aby znaleźć odpowiednią lokalizację klucza. Możesz na przykład otworzyć klucz HKEY_CURRENT_USER\Software bieżącego użytkownika i utworzyć klucz z nazwą firmy. Następnie dodaj wartości rejestru do klucza firmy.

Podczas odczytywania rejestru z aplikacji internetowej bieżący użytkownik zależy od uwierzytelniania i personifikacji zaimplementowanej w aplikacji internetowej.

Bardziej bezpieczne jest zapisywanie danych w folderze użytkownika (CurrentUser) zamiast na komputerze lokalnym (LocalMachine).

Podczas tworzenia wartości rejestru należy zdecydować, co zrobić, jeśli ta wartość już istnieje. Inny proces, być może złośliwy, mógł już utworzyć wartość i mieć do niego dostęp. W przypadku umieszczenia danych w wartości rejestru dane są dostępne dla innego procesu. Aby temu zapobiec, użyj GetValue metody . Zwraca wartość Nothing , jeśli klucz jeszcze nie istnieje.

Nie jest bezpieczne przechowywanie wpisów tajnych, takich jak hasła, w rejestrze jako zwykły tekst, nawet jeśli klucz rejestru jest chroniony przez listy kontroli dostępu.

Następujące warunki mogą spowodować wyjątek:

Zabezpieczenia.NET Framework

Aby uruchomić ten proces, zestaw wymaga poziomu uprawnień przyznanego przez klasę RegistryPermission . Jeśli korzystasz z kontekstu częściowego zaufania, proces może zgłosić wyjątek z powodu niewystarczających uprawnień. Podobnie użytkownik musi mieć odpowiednie listy ACL do tworzenia lub zapisywania w ustawieniach. Na przykład aplikacja lokalna, która ma uprawnienie zabezpieczeń dostępu do kodu, może nie mieć uprawnień systemu operacyjnego. Aby uzyskać więcej informacji, zobacz Code Access Security Basics (Podstawy zabezpieczeń dostępu do kodu).

Uwaga

Zabezpieczenia dostępu kodu (CAS) zostały wycofane we wszystkich wersjach programu .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Zobacz też