/*============================================================
* 函 数 名:SaveKey
* 参 数:LPCTSTR [IN] : 待保存的文件名
* 功能描述:通过保存的文件名称,保存对应的子键
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::SaveKey( LPCTSTR lpFileName )
{
assert( m_hKey );
assert( lpFileName );
long lReturn = RegSaveKey( m_hKey, lpFileName, NULL );
if( ERROR_SUCCESS == lReturn )
{
/* 保存成功 */
return TRUE;
}
/* 保存失败 */
return FALSE;
}
/*============================================================
* 函 数 名:RestoreKey
* 参 数:LPCTSTR [IN] : 待恢复的文件名
* 功能描述:通过文件名称,从其中导入注册表中
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::RestoreKey( LPCTSTR lpFileName )
{
assert( m_hKey );
assert( lpFileName );
long lReturn = RegRestoreKey( m_hKey, lpFileName, 0);
if( ERROR_SUCCESS == lReturn )
{
/* 导入成功 */
return TRUE;
}
/* 导入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR CString [IN] : 键值 读取值的类型
* 功能描述:将指定位置的CString类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, CString* lpVal )
{
assert( m_hKey );
assert( lpValueName );
assert( lpVal );
DWORD dwType;
DWORD dwSize=200;
char szString[2048];
memset( szString, 0, 2048 * sizeof(char) );
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)szString, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*lpVal = szString;
return TRUE;
}
/* 查询失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR DWORD [IN] : 键值 读取值的类型
* 功能描述:将指定位置DWORD类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, DWORD* pdwVal )
{
assert( m_hKey );
assert( lpValueName );
assert( pdwVal );
DWORD dwType;
DWORD dwSize=sizeof(DWORD);
DWORD dwDest;
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)&dwDest, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*pdwVal = dwDest;
return TRUE;
}
/* 查询失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR int [IN] : 键值 读取值的类型
* 功能描述:将指定位置int类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, int* pnVal)
{
assert( m_hKey );
assert( lpValueName );
assert( pnVal );
DWORD dwType;
DWORD dwSize=sizeof(DWORD);
DWORD dwDest;
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)&dwDest, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*pnVal=(int)dwDest;
return TRUE;
}
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR LPCTSTR [IN] : 键值 写入值的类型
* 功能描述:将LPCTSTR类型的值写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpValueName, LPCTSTR lpValue )
{
assert( m_hKey );
assert( lpValueName );
assert( lpValue );
long lReturn = RegSetValueEx( m_hKey, lpValueName, 0L, REG_SZ, (const BYTE *) lpValue, strlen(lpValue)+1 );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR DWORD [IN] : 键值 写入值的类型
* 功能描述:将DWORD类型的值写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpSubKey, DWORD dwVal )
{
assert( m_hKey );
assert( lpSubKey );
long lReturn = RegSetValueEx( m_hKey, lpSubKey, 0L, REG_DWORD, (const BYTE *) &dwVal, sizeof(DWORD) );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR int [IN] : 键值 写入值的类型
* 功能描述:将整型数写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpSubKey, int nVal )
{
assert( m_hKey );
assert( lpSubKey );
DWORD dwValue;
dwValue=(DWORD)nVal;
long lReturn = RegSetValueEx( m_hKey, lpSubKey, 0L, REG_DWORD, (const BYTE *) &dwValue, sizeof(DWORD) );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
* 函 数 名:SaveKey
* 参 数:LPCTSTR [IN] : 待保存的文件名
* 功能描述:通过保存的文件名称,保存对应的子键
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::SaveKey( LPCTSTR lpFileName )
{
assert( m_hKey );
assert( lpFileName );
long lReturn = RegSaveKey( m_hKey, lpFileName, NULL );
if( ERROR_SUCCESS == lReturn )
{
/* 保存成功 */
return TRUE;
}
/* 保存失败 */
return FALSE;
}
/*============================================================
* 函 数 名:RestoreKey
* 参 数:LPCTSTR [IN] : 待恢复的文件名
* 功能描述:通过文件名称,从其中导入注册表中
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::RestoreKey( LPCTSTR lpFileName )
{
assert( m_hKey );
assert( lpFileName );
long lReturn = RegRestoreKey( m_hKey, lpFileName, 0);
if( ERROR_SUCCESS == lReturn )
{
/* 导入成功 */
return TRUE;
}
/* 导入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR CString [IN] : 键值 读取值的类型
* 功能描述:将指定位置的CString类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, CString* lpVal )
{
assert( m_hKey );
assert( lpValueName );
assert( lpVal );
DWORD dwType;
DWORD dwSize=200;
char szString[2048];
memset( szString, 0, 2048 * sizeof(char) );
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)szString, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*lpVal = szString;
return TRUE;
}
/* 查询失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR DWORD [IN] : 键值 读取值的类型
* 功能描述:将指定位置DWORD类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, DWORD* pdwVal )
{
assert( m_hKey );
assert( lpValueName );
assert( pdwVal );
DWORD dwType;
DWORD dwSize=sizeof(DWORD);
DWORD dwDest;
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)&dwDest, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*pdwVal = dwDest;
return TRUE;
}
/* 查询失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Read
* 参 数:LPCTSTR int [IN] : 键值 读取值的类型
* 功能描述:将指定位置int类型的值读出
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Read( LPCTSTR lpValueName, int* pnVal)
{
assert( m_hKey );
assert( lpValueName );
assert( pnVal );
DWORD dwType;
DWORD dwSize=sizeof(DWORD);
DWORD dwDest;
long lReturn = RegQueryValueEx( m_hKey, lpValueName, NULL, &dwType, (BYTE *)&dwDest, &dwSize );
if( ERROR_SUCCESS == lReturn )
{
/* 查询成功 */
*pnVal=(int)dwDest;
return TRUE;
}
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR LPCTSTR [IN] : 键值 写入值的类型
* 功能描述:将LPCTSTR类型的值写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpValueName, LPCTSTR lpValue )
{
assert( m_hKey );
assert( lpValueName );
assert( lpValue );
long lReturn = RegSetValueEx( m_hKey, lpValueName, 0L, REG_SZ, (const BYTE *) lpValue, strlen(lpValue)+1 );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR DWORD [IN] : 键值 写入值的类型
* 功能描述:将DWORD类型的值写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpSubKey, DWORD dwVal )
{
assert( m_hKey );
assert( lpSubKey );
long lReturn = RegSetValueEx( m_hKey, lpSubKey, 0L, REG_DWORD, (const BYTE *) &dwVal, sizeof(DWORD) );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
/*============================================================
* 函 数 名:Write
* 参 数:LPCTSTR int [IN] : 键值 写入值的类型
* 功能描述:将整型数写入指定位置
* 返 回 值:BOOL
* 抛出异常:
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
BOOL CRegOperator::Write( LPCTSTR lpSubKey, int nVal )
{
assert( m_hKey );
assert( lpSubKey );
DWORD dwValue;
dwValue=(DWORD)nVal;
long lReturn = RegSetValueEx( m_hKey, lpSubKey, 0L, REG_DWORD, (const BYTE *) &dwValue, sizeof(DWORD) );
if( ERROR_SUCCESS == lReturn )
{
/* 成功写入 */
return TRUE;
}
/* 写入失败 */
return FALSE;
}
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/eaglewood2005/archive/2009/04/15/4076401.aspx
转载于:https://blog.51cto.com/jazka/201905