class CRegistry{
protected:
HKEY m_handle;
public:
CRegistry(HKEY key = NULL,LPSTR keyname = NULL);
~CRegistry();
operator HKEY(){return m_handle;}
BOOL CreateKey(HKEY key,LPSTR keyname);
BOOL CloseKey();
BOOL GetValue(LPSTR value,LPDWORD type,LPVOID buf,LPDWORD size);
DWORD GetNumber(LPSTR value,DWORD defbuf = 0);
LPSTR GetString(LPSTR value,LPSTR retbuf,DWORD size,LPSTR defbuf = NULL);
DWORD GetBinary(LPSTR value,LPBYTE retbuf,DWORD size);
BOOL SetNumber(LPSTR value,DWORD data);
BOOL SetString(LPSTR value,LPSTR data);
BOOL SetBinary(LPSTR value,LPBYTE data,DWORD size);
};
0009.lzh レジストリ管理クラス(1KB)
// クラスの生成
// (HKEY_CURRENT_USER\Software\Assemblageを参照する)
CRegistry reg(HKEY_CURRENT_USER,"Software\\Assemblage");
// クラスを参照して、クラスを生成する
// (HKEY_CURRENT_USER\Software\Assemblage\MyToolを参照する)
CRegistry subreg(reg,"MyTool");
// DWORD値読み込み
DWORD n = subreg.GetNumber("dword_data");
// DWORD値読み込み(デフォルト値設定)
DWORD n = subreg.GetNumber("dword_data",100);
// CHAR値読み込み
CHAR data[100];
subreg.GetString("string_data",data,sizeof(data));
// CHAR値読み込み(デフォルト値設定)
CHAR data[100];
subreg.GetString("string_data",data,sizeof(data),"default_data");
// DWORD値書き出し
subreg.SetNumber("dword_data",100);
// CHAR値書き出し
subreg.SetString("string_data","string datas");