방법: Visual Basic에서 레지스트리 키 만들기 및 값 설정

업데이트: 2007년 11월

My.Computer.Registry 개체의 CreateSubKey 메서드를 사용하여 레지스트리 키를 만들 수 있습니다.

프로시저

레지스트리 키를 만들려면

  • CreateSubKey 메서드에 키를 배치할 상위 하이브와 키 이름을 지정합니다. Subkey 매개 변수는 대/소문자를 구분하지 않습니다. 이 예제에서는 HKEY_CURRENT_USER 아래에 MyTestKey 레지스트리 키를 만듭니다.

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

레지스트리 키를 만들고 키 값을 설정하려면

  1. CreateSubkey 메서드에 키를 배치할 상위 하이브와 키 이름을 지정합니다. 이 예제에서는 HKEY_CURRENT_USER 아래에 MyTestKey 레지스트리 키를 만듭니다.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. SetValue 메서드를 사용하여 값을 설정합니다. 이 예제에서는 문자열 값을 설정합니다. 즉, "MyTestKeyValue"가 "This is a test value"로 설정됩니다.

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

예제

이 예제에서는 HKEY_CURRENT_USER 아래에 레지스트리 키 MyTestKey를 만든 다음 문자열 값 MyTestKeyValue를 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.")

강력한 프로그래밍

키를 넣을 적합한 위치를 찾으려면 레지스트리 구조를 살펴 봅니다. 예를 들어, 현재 사용자의 HKEY_CURRENT_USER\Software 키를 열고 회사 이름을 갖는 키를 만들 수 있습니다. 그런 다음 해당 레지스트리 값을 회사 키에 추가하면 됩니다.

웹 응용 프로그램에서 레지스트리를 읽을 경우 현재 사용자는 웹 응용 프로그램에 구현된 인증 및 가장에 따라 달라집니다.

데이터를 로컬 컴퓨터(LocalMachine)에 쓰는 것보다는 사용자 폴더(CurrentUser)에 쓰는 것이 더 안전합니다.

레지스트리 값을 만들 때는 해당 값이 이미 존재하는 경우 어떻게 처리할 것인지 결정해야 합니다. 악의적인 프로세스가 이미 해당 값을 만들어 액세스하고 있을 수도 있습니다. 레지스트리 값에 입력한 데이터는 다른 프로세스에서도 사용할 수 있습니다. 이를 방지하려면 GetValue 메서드를 사용합니다. 이 메서드는 키가 아직 없을 경우 Nothing을 반환합니다.

레지스트리 키는 ACL(액세스 제어 목록)에 의해 보호되기는 하지만 암호 등의 비밀을 레지스트리에 일반 텍스트로 저장하면 보안상 위험합니다.

다음 조건에서 예외가 발생합니다.

보안

이 프로세스를 실행하려면 어셈블리에 RegistryPermission 클래스에서 부여한 권한 수준이 있어야 합니다. 부분 신뢰 컨텍스트에서 실행 중인 경우에는 권한이 부족하여 프로세스에서 예외를 throw할 수 있습니다. 마찬가지로 사용자에게는 설정을 만들거나 쓸 수 있는 올바른 ACL이 있어야 합니다. 예를 들어, 코드 액세스 보안 권한을 가지고 있는 로컬 응용 프로그램이 운영 체제 권한은 가지고 있지 않은 경우가 여기에 해당합니다. 자세한 내용은 코드 액세스 보안 기본 사항을 참조하십시오.

참고 항목

작업

문제 해결: 레지스트리 조작

연습: 레지스트리 키 만들기 및 값 변경

개념

일반적인 레지스트리 작업

코드 액세스 보안 기본 사항

참조

My.Computer.Registry 개체

My.Computer.Registry.CurrentUser 속성

CreateSubKey