응용프로그램의 정보를 레지스트리에 보관하기
01 14, 2007 01:58
응용프로그램에서 사용중인 정보(예를 들면 메인 윈도우의 위치 등등)를 레지스트리에 보관했다가 다음 실행할 때 읽어들이고자 레지스트리 관련 API를 사용하지 않고 좀 더 쉽게 처리할 수 있는 방법은 없을까요 ? 원래 MFC에는 INI 파일 I/O를 위해 다음과 같은 종류의 함수들을 CWinApp 클래스의 멤버 함수로 제공해 줍니다. GetProfileInt, GetProfileString, WriteProfileInt, WriteProfileString 이 함수들은 원래는 INI 파일하고만 관련된 것이지만 CWinApp의 SetRegistryKey 함수를 사용하면 레지스트리 관련 I/O를 사용하는데 사용할 수도 있습니다. SetRegistryKey를 호출할 때 "회사이름/프로그램이름"의 형식을 갖는 문자열을 지정해 주는 것이 좋습니다. AppWizard에서는 디폴트로 SetRegistryKey("Local AppWizard-Generated Applications")를 호출합니다. 아무튼 SetRegistryKey에 지정한 값이 HKEY_CURRENT_USER\Software\에 붙어 사용됩니다. 예를 들어 다음과 같은 코드를 생각해 보겠습니다. // 응용프로그램 클래스에서 SetRegistryKey("Samsung\Doore"); .... WriteProfileString("Main Window","Type", "Normal"); // 그러면 HKEY_CURRENT_USER\Software\Samsung\Doore\Main Window\Type의 값이 Normal로 지정됩니다. |