Files
interactive/application/sp-console(down)/Common/.svn/pristine/6a/6add5375bd7ca00f5527e8c5e83a8355a4dcba71.svn-base
2026-08-07 17:38:18 +09:00

101 lines
2.1 KiB
Plaintext

// RegUtil.cpp: implementation of the CRegUtil class.
//
#include "stdafx.h"
#include "RegUtil.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRegUtil::CRegUtil()
{
m_hKey = NULL;
}
CRegUtil::~CRegUtil()
{
if (!m_hKey)
CloseKey();
}
BOOL CRegUtil::OpenKey(HKEY hKey, CString sKey)
{
LONG lRet = RegOpenKeyEx(hKey, TEXT(sKey), 0, KEY_ALL_ACCESS, &m_hKey);
if (lRet == ERROR_SUCCESS)
return TRUE;
else {
DWORD dwDisp;
lRet = RegCreateKeyEx(hKey, TEXT(sKey), 0, "REG_BINARY", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &m_hKey, &dwDisp);
if(lRet == ERROR_SUCCESS)
return TRUE;
else
return FALSE;
}
}
void CRegUtil::CloseKey()
{
if (m_hKey)
RegCloseKey(m_hKey);
m_hKey = NULL;
}
BOOL CRegUtil::SetStrValue(CString sName, CString sValue)
{
TCHAR szValue[MAX_PATH] = {'\0'};
_tcscpy(szValue, sValue);
LONG lRet = RegSetValueEx(m_hKey, TEXT(sName), NULL, REG_SZ, (PBYTE)&szValue, (DWORD)strlen(szValue));
if (lRet == ERROR_SUCCESS)
return TRUE;
else
return FALSE;
}
CString CRegUtil::GetStrValue(CString sName)
{
DWORD dwType = REG_SZ;
char szValue[MAX_PATH];
DWORD dwLength = sizeof(szValue);
LONG lRet = RegQueryValueEx(m_hKey, TEXT(sName), NULL, &dwType, (PBYTE)szValue, &dwLength);
if (lRet == ERROR_SUCCESS) {
szValue[dwLength] = NULL;
return CString(szValue);
}
else
return "";
}
BOOL CRegUtil::SetNumValue(CString sName, UINT nValue)
{
LONG lRet = RegSetValueEx(m_hKey, TEXT(sName), NULL, REG_DWORD, (PBYTE)&nValue, (DWORD)sizeof(nValue));
if (lRet == ERROR_SUCCESS)
return TRUE;
else
return FALSE;
}
UINT CRegUtil::GetNumValue(CString sName)
{
DWORD dwType = REG_DWORD;
DWORD dwValue;
DWORD dwLength = sizeof(DWORD);
LONG lRet = RegQueryValueEx(m_hKey, TEXT(sName), NULL, &dwType, (PBYTE)&dwValue, &dwLength);
if (lRet == ERROR_SUCCESS)
return (UINT)dwValue;
else
return 0;
}