設定値のレジストリへの書き込み、レジストリからの取得

解説

設定値のレジストリへの書き込み、レジストリからの取得は、

int型、BOOL型の変数の場合には、
CWinApp::WriteProfileInt( )
CWinApp::GetProfileInt( )

char*型、CString型、double型、float型の変数の場合には、
CWinApp::WriteProfileString( )
CWinApp::GetProfileString( )

を使用します。(他の関数、他の方法でもできますが、上記関数を使用するのが簡単です。)

サンプルコード

追加解説

設定値は、レジストリの
HKEY_CURRENT_USER\Software\[レジストリキー]\[ソフト名]\[セクション名]
の下に保存されます。

レジストリキーの指定
アプリケーションウィザードを用いてプロジェクトを作成した場合には、
作成したプロジェクトのアプリケーションクラスのInitInstance( ) に、
// 設定が保存される下のレジストリ キーを変更します。
// TODO: この文字列を、会社名または所属など適切なものに
// 変更してください。
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
という記述がありますので、SetRegistryKeyの引数を会社名や所属など適切なものに変更し指定します。
ソフト名の指定
アプリケーションウィザードを用いてプロジェクトを作成した場合には、String Table の「AFX_IDS_APP_TITLE」の文字列値が使われますので、「AFX_IDS_APP_TITLE」の文字列値を適切なものに変更し指定します。
セクション名
WriteProfileInt( )、GetProfileInt( )、WriteProfileString( )、GetProfileString( ) の第一引数で指定します。

ダウンロード

サンプルプロジェクト
(『// { 追加コード』 から 『// } 追加コード』 までが、(自動生成でない)追加したコード部分です。)