본문 바로가기

Application Programming Interface/Windows API

기능별로 묶어보는 레지스트리 함수 – 1편. 완전 간단 레지스트리 소개

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

기능별로 묶어보는 레지스트리 함수.
1편. 완전 간단 레지스트리 소개

- by Tapitolife


레지스트리는 다음과 같이 구성 되어 있습니다.

 

▶ 키(Key):

일종의 폴더라고 보면 됩니다.
5개의 기본 키가 있으며 그 아래 트리 구조로 서브키들이 있습니다.
5개의 기본 키는 각각 다음과 같은 용도로 쓰입니다.

* HKEY_CLASSES_ROOT: (약칭 HKCR)
파일 확장명과 그 확장명에 대한 연결 프로그램을 다룹니다.

* HKEY_CURRENT_USER: (약칭 HKCU)
사용자가 구성한 윈도우 환경이 저장됩니다.
예를 들면, 효과음, 내게 필요한 옵션과 같은 주로 제어판에서 설정한
것들이 여기에 저장되죠.

* HKEY_LOCAL_MACHINE: (약칭 HKLM)
윈도우 부팅에 필요한 장치 정보들이 기록되어 있습니다.
윈도우 설치 시에 대부분 구성되고, 장치 관리자를 통해 변경 하는 내용은
대부분 여기에 있는 값들과 관련이 있습니다.

* HKEY_USERS (약칭 HKU)
이 컴퓨터를 사용하는 모든 사용자 계정들 각각에 대한 설정 내용들을
저장합니다.

* HKEY_CURRENT_CONFIG (약칭 HKCC)
하드웨어에 대한 정보가 저장됩니다. HKEY_LOCAL_MACHINE에
서브키로 있는 Config 키를 기본 키로 빼놓은 것입니다.

▶ 값(Value):

폴더에는 여러 종류의 파일이 들어 있듯이,
키에도 여러 형식의 값들이 있습니다.
레지스트리에서 지원하는 값의 형식은 다음과 같습니다.

0

REG_NONE

종류 없음

1

REG_SZ

문자열 값

2

REG_EXPAND_SZ

확장할 수 있는
문자열 값.
환경 변수를 포함할 수 있다.

3

REG_BINARY

이진 값 (임의의 데이터)

4

REG_DWORD
또는 REG_DWORD_LITTLE_ENDIAN

DWORD 값 (32 비트) 정수
(0 ~ 4,294,967,295 [232 – 1])
(Little Endian)

5

REG_DWORD_BIG_ENDIAN

DWORD 값 (32 비트) 정수
(0 ~ 4,294,967,295 [232 – 1])
(Big Endian)

6

REG_LINK

심볼 링크 (유니코드)

7

REG_MULTI_SZ

다중 문자열 값
(고유한 문자열의 배열)

8

REG_RESOURCE_LIST

리소스 목록
(플러그 앤 플레이 하드웨어
열거 및 구성에 쓰임)

9

REG_FULL_RESOURCE_DESCRIPTOR

리소스 서술자
(플러그 앤 플레이 하드웨어
열거 및 구성에 쓰임)

10

REG_RESOURCE_REQUIREMENTS_LIST

리소스 요구 목록
(플러그 앤 플레이 하드웨어
열거 및 구성에 쓰임)

출처: 위키백과
(http://ko.wikipedia.org/wiki/%EC%9C%88%EB%8F%84_%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC)

▶ 기본 값
(Default Value):

각 키는 기본 값을 가지고 있습니다.
제일 상단에 (기본 값)이라고 나와 있는 값이죠.
형식은 문자열이고, 값의 이름은 없습니다.

 

그리고 이것들을 다루는 함수를 레지스트리 함수라 하고 Windows API의 한 종류입니다.
레지스트리 함수는 winreg.h에 선언되어 있고,
advapi32.dll 또는 advapi32.lib에 구현되어 있습니다.
그럼 다음 편에서는 키(Key)를 다루는 함수를 정리하겠습니다.