Udostępnij za pośrednictwem


Porady: tworzenie klucza rejestru i ustawianie 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. Parametr Subkey nie jest rozróżniany ze względu na wielkość 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. „MyTestKeyValue” to „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 rejestru MyTestKey w HKEY_CURRENT_USER, a następnie ustawia wartość ciągu MyTestKeyValue na wartość 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.")

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 Twojej 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 programu .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 uprawnienia 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 Podstawy Bezpieczeństwa Dostępu do Kodów.

Uwaga / Notatka

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 także