윈도우 REG 파일의 편집

2006. 4. 11. 10:54
REG 파일을 이용하면 어떤 형태의 데이타이든 추가/삭제가 가능하다. 일반적으로 REG 파일은 다음과 같은 구조를 갖는다.

REG Version

[레지스트리 키1]
@="(기본값)"
"값1"="데이타 값1"
"값2"="데이타 값2"

[레지스트리 키2]
@="(기본값)"
"값1"="데이타 값1"
"값2"="데이타 값2"

레지스트리 파일에서 각 항목의 의미는 다음과 같다.

REG Version
사용되는 레지스트리의 버전이 표시된다.

예: 레지스트리 버전의 종류
(9x/NT의 경우) REGEDIT4
(2K/XP의 경우) Windows Registry Editor Version 5.00
※ 레지스트리를 5.0으로 저장하는 경우 Unicode로 저장된다.

[레지스트리 키]
레지스트리의 구조에서 설명한 Root 키로 부터 최종 하위 키까지의 경로이다. 레지스트리에 키를 추가하려면 [레지스트리 키]와 같은 형식을 사용하고, 키를 삭제하려면 [-레지스트리 키]와 같은 형식을 사용하면 된다.

예1: 키 추가
[HKEY_CURRENT_USER\Control Panel\Cursors]
@="Winamp"

예2: 키 삭제
[-HKEY_CLASSES_ROOT\Directory\shell\Winamp.Bookmark]
[-HKEY_CLASSES_ROOT\Directory\shell\Winamp.Enqueue]
[-HKEY_CLASSES_ROOT\Directory\shell\Winamp.Play]


프로그래밍 언어에서 변수에 해당된다. 변수는 일반적으로 변수명=변수값으로 구성되는데 레지스트리에서도 마찬가지로 값=데이터 값의 형식으로 구성된다. 값 중 @로 표시된 값은 기본값을 나타낸다. 값을 추가하려면 값=데이터 값의 형식을 사용하면 되며, 값을 삭제하려면 값=- 형식처럼 데이타 값을 -로 변경하면 된다.

예1: 값 추가
[HKEY_CURRENT_USER\Control Panel\Cursors]
@="Winamp"
"Arrow"="C:\\Windows\\Cursors\\Normal Select.cur"
"Help"="C:\\Windows\\Cursors\\Help Select.ani"
"AppStarting"="C:\\Windows\\Cursors\\Winamp Background.ani"
※ 데이타 값에 역슬래쉬를 입력하려면 \\를 사용해야 한다.

예2: 값 삭제
[HKEY_CURRENT_USER\Control Panel\Cursors]
"Arrow"=-
"Help"=-
"AppStarting"=-

데이타 값
데이타 값은 값에 저장되는 실제 값을 의미한다. 데이타의 유형에따라 저장되는 형식은 다르며 데이타 형식에따른 표현 방법은 다음과 같다.





데이타 형사용 형식
문자열(REG_SZ)"값"="데이타 값""Arrow"="C:\\Windows\\Cursors\\Normal Select.cur"
단어(REG_DWORD)"값"=dword:헥사값"Scheme Source"=dword:00000002
이진(REG_BINARY)"값"=hex:hh,hh,hh,hh \"CacheSize"=hex:ff,ff,00,00 \
확장 문자열(REG_EXPAND_SZ)"값"=hex(2):hh,hh,hh,hh \"ImagePath"=hex(2):73,00,79,00,73 \
다중 문자열(REG_MULTI_SZ)"값"=hex(7):hh,hh,hh,hh \"Machine"=hex(7):53,00,79,00,73 \
※ 여기서 역슬래쉬(\)는 줄바꿈을 의미한다.
,