regtools.cpp

来自「超声影像工作站系统可与各种型号的B超、彩超连接」· C++ 代码 · 共 125 行

CPP
125
字号
// RegTools.cpp: implementation of the CRegTools class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "RegTools.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


CRegTools::CRegTools()
{
	strcpy(m_sKey, "Software\\bmic\\");
	m_hRootKey	= HKEY_CURRENT_USER;
}

CRegTools::~CRegTools()
{
}

BOOL
CRegTools::SetRootKey(HKEY hRootKey)
{
	return	FALSE;

//	m_hRootKey	= hRootKey;
//	DEBUGRETURN	TRUE;
}

BOOL
CRegTools::WriteInt(LPCTSTR sName, INT iValue)
{
	LONG	rv;
	HKEY	hKey	= NULL;

	rv	= ::RegOpenKeyEx(m_hRootKey, m_sKey, 0, KEY_ALL_ACCESS, &hKey);
	if	(ERROR_SUCCESS	!= rv)	return	FALSE;

	rv	= ::RegSetValueEx(hKey, sName, 0, REG_DWORD, (CONST BYTE *)(&iValue), sizeof(INT));
	if	(ERROR_SUCCESS	!= rv)
	{
		::RegCloseKey(hKey);
		return	FALSE;
	}

	::RegCloseKey(hKey);

	return	(ERROR_SUCCESS	== rv) ? (TRUE) : (FALSE);
}

BOOL
CRegTools::WriteString(CHAR *sName, CHAR *sValue)
{
	LONG	rv;
	HKEY	hKey	= NULL;

	rv	= ::RegOpenKeyEx(m_hRootKey, m_sKey, 0, KEY_ALL_ACCESS, &hKey);
	if	(ERROR_SUCCESS	!= rv)	return	FALSE;

	rv	= ::RegSetValueEx(hKey, sName, 0, REG_SZ, (CONST BYTE *)(sValue), strlen(sValue));
	if	(ERROR_SUCCESS	!= rv)
	{
		::RegCloseKey(hKey);
		return	FALSE;
	}

	::RegCloseKey(hKey);

	return	(ERROR_SUCCESS	== rv) ? (TRUE) : (FALSE);
}

BOOL
CRegTools::CreateKey(CHAR *sKey)
{
	return	FALSE;
}

INT
CRegTools::GetInt(LPCTSTR sName, INT iDefault)
{
	LONG	rv;
	HKEY	hKey	= NULL;
	INT		iData;
	DWORD	dwType	= REG_DWORD;
	DWORD	dwSize	= sizeof(INT);

	rv	= ::RegOpenKeyEx(m_hRootKey, m_sKey, 0, KEY_ALL_ACCESS, &hKey);
	if	(ERROR_SUCCESS	!= rv)	return	iDefault;

	rv	= ::RegQueryValueEx(hKey, sName, 0, &dwType, (LPBYTE)(&iData), (LPDWORD)(&dwSize));
	if	(ERROR_SUCCESS	!= rv)
	{
		::RegCloseKey(hKey);
		return	iDefault;
	}

	::RegCloseKey(hKey);
	return	iData;
}

BOOL
CRegTools::GetString(CHAR *sName, CHAR *sValue, DWORD dwSize, CHAR *sDefault)
{
	LONG	rv;
	HKEY	hKey	= NULL;
	DWORD	dwType	= REG_SZ;

	if	(NULL	!= sDefault)		strcpy(sValue, sDefault);
	
	rv	= ::RegOpenKeyEx(m_hRootKey, m_sKey, 0, KEY_ALL_ACCESS, &hKey);
	if	(ERROR_SUCCESS	!= rv)	return	FALSE;

	rv	= ::RegQueryValueEx(hKey, sName, 0, &dwType, (LPBYTE)sValue, (LPDWORD) (&dwSize));
	if	(ERROR_SUCCESS	!= rv)
	{
		::RegCloseKey(hKey);
		return	FALSE;
	}

	::RegCloseKey(hKey);
	return	TRUE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?