Udostępnij za pośrednictwem


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

  • GetValue Użyj metody , 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 katalogu głównego, 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.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ż