Windowsコード集 上のページ

#0009 レジストリ管理クラス

レジストリの管理をクラスで行う物です。
既存クラスを利用して新しいクラスを生成する事により、階層によるレジストリ管理が可能です。
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");


上のページ