GetValue
개체의 메서드를 My.Computer.Registry
사용하여 Windows 레지스트리의 값을 읽을 수 있습니다.
다음 예제에서 "Software\MyApp" 키가 없으면 예외가 발생합니다. 다음 예제에서 ValueName
"Name" 이 존재하지 않으면 Nothing
이 반환됩니다.
이 메서드를 GetValue
사용하여 지정된 값이 특정 레지스트리 키에 있는지 여부를 확인할 수도 있습니다.
코드가 웹 애플리케이션에서 레지스트리를 읽는 경우 현재 사용자는 웹 애플리케이션에서 구현되는 인증 및 사칭에 의해 결정됩니다.
레지스트리 키에서 값을 읽으려면
GetValue
경로 및 이름을 지정하는 메서드를 사용하여 레지스트리 키에서 값을 읽습니다. 다음 예제에서는 값을Name
읽고HKEY_CURRENT_USER\Software\MyApp
메시지 상자에 표시합니다.Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
이 코드 예제는 IntelliSense 코드 조각으로도 사용할 수 있습니다. 코드 조각 선택기에서 Windows 운영 체제 > 레지스트리에 있습니다. 자세한 내용은 코드 조각참조하세요.
레지스트리 키에 값이 있는지 여부를 확인하려면
메서드를
GetValue
사용하여 값을 검색합니다. 다음 코드는 값이 있는지 여부를 확인하고, 그렇지 않은 경우 메시지를 반환합니다.If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
강력한 프로그래밍
레지스트리는 데이터를 저장하는 데 사용되는 최상위 또는 루트 키를 보유합니다. 예를 들어 HKEY_LOCAL_MACHINE 루트 키는 모든 사용자가 사용하는 컴퓨터 수준 설정을 저장하는 데 사용되고 HKEY_CURRENT_USER 개별 사용자와 관련된 데이터를 저장하는 데 사용됩니다.
다음 조건에서 예외가 발생합니다.
키의 이름은 (
Nothing
)입니다 ArgumentNullException .사용자에게 레지스트리 키(SecurityException)에서 읽을 수 있는 권한이 없습니다.
키 이름이 255자 제한(ArgumentException)을 초과합니다.
.NET Framework 보안
이 프로세스를 실행하려면 어셈블리에 클래스에서 부여한 RegistryPermission 권한 수준이 필요합니다. 부분 신뢰 컨텍스트에서 실행하는 경우 프로세스가 권한 부족으로 인해 예외를 throw할 수 있습니다. 마찬가지로 사용자에게 설정 만들기 또는 쓰기에 대한 올바른 ACL이 있어야 합니다. 예를 들어 코드 액세스 보안 권한이 있는 로컬 애플리케이션에는 운영 체제 권한이 없을 수 있습니다. 자세한 내용은 Code Access Security Basics을 참조하세요.
비고
CAS(코드 액세스 보안)는 .NET Framework 및 .NET의 모든 버전에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 준수하지 않으며 CAS 관련 API를 사용하는 경우 오류가 발생합니다. 개발자는 보안 작업을 수행하는 대체 수단을 찾아야 합니다.
참고하십시오
.NET