ATLのRegistryDataExchange

知らなんだ。DDXみたいなマップ書くだけでレジストリの読み書きできる。ちょっと手抜きできそう。

#include <atlplus.h>

class CRdxTest
{
public:
  BEGIN_RDX_MAP()
    RDX_CSTRING_TEXT(HKEY_CURRENT_USER, _T("Software\\gaeeyo"), _T("name"), m_Name, sizeof(m_Age))
    RDX_DWORD(HKEY_CURRENT_USER, _T("Software\\gaeeyo"), _T("age"), m_Age, sizeof(m_Age))
  END_RDX_MAP()

  DWORD     m_Age;
  CString   m_Name;
};
  CRdxTest  test;
  // 読み出し
  test.RegistryDataExchange(eReadFromReg);

  // 書き込み
  test.m_Name = _T("あほ");
  test.RegistryDataExchange(eWriteToReg);

  // 削除
  test.RegistryDataExchange(eDeleteFromReg);