Registry 레지스트리

C++ 2010. 10. 27. 23:45


Registry Function
RegCreateKeyEx() : 키 읽음(없으면 생성)
RegOpenKeyEx() : 키 읽음(없으면 에러)
RegSetValueEx() : 키 값 쓰기
RegQueryValueEx() : 키 값 읽음
RegCloseKey() : 키 해제
RegDeleteKey() : 해당 키 삭제
RegDeleteKeyValue() : 해당 키 값 삭제
RegQueryInfoKey() : 키 정보 조사
RegEnumKeyEx() : 특정 키의 서브 키 조사
RegEnumValue() : 특정 키의 키값들 조사
RegFlushKey() : 특정 키에 대한 버퍼를 비우고 실제 파일에 쓴다.
 RegCloseKey()시에 flush 되므로 특별한 경우 외엔 미사용.


예약된 키들
HKEY_USERS : 새로운 사용자를 위한 디폴트 설정 정보 및 현재 사용자 정보.
HKEY_CURRENT_USER : 현재 로그인한 사용자 설정 정보. HKEY_USERS 의 서브키. 원본은 HKEY_USERS의 SID HKEY_LOCAL_MACHINE : 컴퓨터의 물리적 구성 정보 및 시스템 전반에 대한 정보. HKEY_CLASSES_ROOT : 파일 확장자 속성 및 COM 오브젝트 설정 정보. 원본은 HKEY_CURRENT_USER 와 HKEY_LOCAL_MACHINE 아래의 Software\Classes의 조합. HKEY_CURRENT_CONFIG : 현재 하드웨어 설정 상태. 원본은 HKEY_LOCAL_MACHINE\System\CurrentControlSet \Hardware Profiles\Current 임. 

간단한 레지스트리 조작 샘플

Registry Class
윈도우에서 CRegKey 라는 ATL 클래스가 이미 있음. (나중에 알게됨)
(REG_DWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_BINARY)
REG_EXPAND_SZ는 환경변수 쓴다는걸 표시하는 용도외엔 REG_SZ와 동일 함.
GException.cppGException.hGRegistry.cppGRegistry.hmain.cppstdafx.h