⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regmanager.cpp

📁 COM 组建的开发
💻 CPP
字号:
// RegManager.cpp: implementation of the CRegManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "resource.h"
#include "RegManager.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

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

CRegManager::CRegManager()
{

}

CRegManager::~CRegManager()
{

}
// 获取REG_SZ类型字段的值 [5/6/2008 By willing]
int CRegManager::GetStrRegValue(char *pszKeyPatch,char *pszKeyName,char *pszKeyValue,DWORD dwKeyLen)
{
	if (pszKeyPatch == NULL || pszKeyName == NULL || pszKeyValue == NULL || dwKeyLen <= 0 )
		return -1;
	
	pszKeyValue[0] = 0;
	
	HKEY hKey = NULL;
	long lRetCode = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
		pszKeyPatch,
		0,
		KEY_ALL_ACCESS,
		&hKey);
	if ( lRetCode != ERROR_SUCCESS )
		return -2;
	
	
	DWORD dwType = REG_SZ;
	DWORD dwDataLen = dwKeyLen;
	lRetCode = RegQueryValueEx(hKey,
		pszKeyName,
		0,
		&dwType,
		(BYTE *) pszKeyValue,
		&dwDataLen);		
	
	if ( lRetCode != ERROR_SUCCESS )
	{
		RegCloseKey(hKey);
		return -4;
	}
	
	RegCloseKey(hKey);
	return 0;
}
// 从注册表中获取DWORD类型的数据 [5/6/2008 By willing]
int CRegManager::GetDwordRegValue(char *pszKeyPatch,char *pszKeyName,DWORD& dwKeyValue)
{
	dwKeyValue = 0;

	if (NULL == pszKeyPatch)
	{
		return -1;
	}
	if (NULL == pszKeyName)
		return -2;

	HKEY hKey = NULL;
	long lRetCode = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
								 pszKeyPatch,
								 0,
								 KEY_ALL_ACCESS,
								 &hKey);
	if ( lRetCode != ERROR_SUCCESS )
		return -3;

	DWORD dwType = REG_DWORD;
	DWORD dwDataLen = sizeof (DWORD);
	lRetCode = RegQueryValueEx(hKey,
							   pszKeyName,
							   0,
							   &dwType,
							   (BYTE *) &dwKeyValue,
							   &dwDataLen);		

	if ( lRetCode != ERROR_SUCCESS )
	{
		RegCloseKey(hKey);
		return -4;
	}
	
	RegCloseKey(hKey);
	return 0;
}

⌨️ 快捷键说明

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