응용프로그램의 정보를 레지스트리에 보관하기

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로 지정됩니다.

http://www.jadoo.net/bbs/view.php?id=webstudy&page=4&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=17

브니 Programs/C++

01 14, 2007 01:58 01 14, 2007 01:58
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다