仕様
レジストリへの読み書き用メソッドを実装したクラスです。よく使うデータ形式(文字列、DWORD、バイナリ)については
専用のメソッドも実装しています。クラスにしたのはJAVA 的な思想からです。
ソースコード
SRegistry.h 右クリックで「対象をファイルに保存」でダウンロードしてください。
依存関係
sjstring.hとscritical.hも使用してます。同じフォルダに入れておいてね。
メソッド
レジストリへのアクセサメソッドとなります。
SetString()、GetString()
レジストリの任意のキーに文字列を書き込んだり、読み出したりできます。
LPCTSTR lpczPath = __TEXT("HKEY_CURRENT_USER\\Software\\test");
LPCTSTR lpczKey = __TEXT("key_str");
SRegistry reg;
BOOL bRet = reg.SetString(lpczPath , lpczKey, "Test string.");
TCHAR Byf[512] = {0};
BOOL bRet = reg.GetString(lpczPath, lpczKey, Buf, 512);
SetDWORD()、GetDWORD()
レジストリの任意のキーにDWORD 値を書き込んだり、読み出したりできます。
LPCTSTR lpczPath = __TEXT("HKEY_CURRENT_USER\\Software\\test");
LPCTSTR lpczKey = __TEXT("key_dword");
SRegistry reg;
reg.SetDWORD( lpczPath, lpczKey, 0x00cb5566);
DWORD dwBuf = 0;
reg.GetDWORD( lpczPath, lpczKey, &dwBuf);
SetBinary()、GetBinary()
レジストリの任意のキーにバイナリデータを書き込んだり、読み出したりできます。
LPCTSTR lpczPath = __TEXT("HKEY_CURRENT_USER\\Software\\test");
LPCTSTR lpczKey = __TEXT("key_bin");
BYTE byteData[] = {0x00, 0x0f, 0xff, 0xf0, 0x00};
SRegistry reg;
reg.SetBinary( lpczPath, lpczKey, byteData, sizeof(byteData));
BYTE Buf[512] = {0};
reg.GetBinary( lpczPath, lpczKey, &Buf, 512);
GetValueLength()
レジストリの任意のキーのデータサイズを取得できます。
SRegistry reg;
int nSize = reg.GetValueLength();
SetValue(), GetValue()
レジストリの任意のキーに任意のデータ形式を書き込んだり、読み出したりできます。既定のデータ形式についてはコチラを参考ください。
LPCTSTR lpczPath = __TEXT("HKEY_CURRENT_USER\\Software\\test");
LPCTSTR lpczKey = __TEXT("key_bin");
DWORD dwBuf[] = { 0x00ffffff, 0x00a0a0a0 };
SRegistry reg;
reg.setValue( lpczPath, lpczKey, REG_QWORD, &dwBuf, sizeof(dwBuf));
dwBuf[0] = 0;
dwBuf[1] = 0;
ref.getValue( pczPath, lpczKey, REG_QWORD, &dwBuf, sizeof(dwBuf));