Udostępnij za pomocą


Porady: odczytywanie wartości z klucza rejestru w Visual Basic

Metoda GetValueMy.Computer.Registry obiektu może służyć do odczytywania wartości w rejestrze systemu Windows.

Jeśli klucz "Software\MyApp" w poniższym przykładzie nie istnieje, zgłaszany jest wyjątek. Jeśli parametr ValueName" Name" w poniższym przykładzie nie istnieje, Nothing zostanie zwrócony.

Metody GetValue można również użyć do określenia, czy dana wartość istnieje w określonym kluczu rejestru.

Gdy kod odczytuje rejestr z aplikacji internetowej, bieżący użytkownik jest określany przez uwierzytelnianie i personifikację zaimplementowaną w aplikacji internetowej.

Aby odczytać wartość z klucza rejestru

  • Użyj metody GetValue, określając ścieżkę i nazwę, aby odczytać wartość z klucza rejestru. Poniższy przykład odczytuje wartość Name z HKEY_CURRENT_USER\Software\MyApp i wyświetla ją w polu komunikatu.

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

Ten przykład kodu jest również dostępny jako fragment kodu funkcji IntelliSense. W selektorze fragmentów kodu znajduje się on w rejestrze systemu > operacyjnego Windows. Aby uzyskać więcej informacji, zobacz fragmenty kodu.

Aby określić, czy wartość istnieje w kluczu rejestru

  • GetValue Użyj metody , aby pobrać wartość. Poniższy kod sprawdza, czy wartość istnieje i zwraca komunikat, jeśli nie.

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

Niezawodne programowanie

Rejestr zawiera klucze najwyższego poziomu, lub klucz główny, które są używane do przechowywania danych. Na przykład klucz główny HKEY_LOCAL_MACHINE jest używany do przechowywania ustawień na poziomie komputera używanych przez wszystkich użytkowników, podczas gdy HKEY_CURRENT_USER służy do przechowywania danych specyficznych dla poszczególnych użytkowników.

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