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

📄 regkey.cpp

📁 通信增值服务,上网接听电话
💻 CPP
字号:
#include "stdafx.h"
#include "regkey.h"

CMyRegKey::CMyRegKey()
{
	m_hKey=NULL;
}

CMyRegKey::~CMyRegKey()
{
	Close();
}

LONG CMyRegKey::Open(HKEY hKeyRoot,LPCTSTR pszPath)
{
	DWORD dw;
	m_sPath = pszPath;
	return RegCreateKeyEx(hKeyRoot,pszPath,0L,NULL,REG_OPTION_VOLATILE,KEY_ALL_ACCESS,NULL,&m_hKey,&dw);
}

void CMyRegKey::Close()
{
	if(m_hKey)
	{
		RegCloseKey(m_hKey);
		m_hKey = NULL;
	}
}


LONG CMyRegKey::Write(LPCTSTR pszKey,DWORD dwVal)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);
	return RegSetValueEx(m_hKey,pszKey,0L,REG_DWORD,(CONST BYTE*)&dwVal,sizeof(DWORD));
}

LONG CMyRegKey::Write(LPCTSTR pszKey,LPCTSTR pszVal)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);
	ASSERT (pszVal);
	ASSERT (AfxIsValidAddress(pszVal,strlen(pszVal),FALSE));
	return RegSetValueEx(m_hKey,pszKey,0L,REG_SZ,(CONST BYTE*)pszVal,strlen(pszVal)+1);
}

LONG CMyRegKey::Write(LPCTSTR pszKey,const BYTE* pData,DWORD dwLength)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);
	ASSERT (pData&&dwLength>0);
	ASSERT (AfxIsValidAddress(pData,dwLength,FALSE));
	return RegSetValueEx(m_hKey,pszKey,0L,REG_BINARY,pData,dwLength);
}

LONG CMyRegKey::Read(LPCTSTR pszKey,DWORD& dwVal)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);

	DWORD dwType;
	DWORD dwSize = sizeof(DWORD);
	DWORD dwDest;
	LONG lRet= RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)&dwDest,&dwSize);
	if(lRet == ERROR_SUCCESS)
		dwVal = dwDest;
	return lRet;
}

LONG CMyRegKey::Read(LPCTSTR pszKey,CString& sVal)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);

	DWORD dwType;
	DWORD dwSize = 200;
	char string [200];
	LONG lRet= RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)string,&dwSize);
	if(lRet == ERROR_SUCCESS)
		sVal = string;
	return lRet;
}

LONG CMyRegKey::Read(LPCTSTR pszKey,BYTE* pData,DWORD& dwLength)
{
	ASSERT (m_hKey);
	ASSERT (pszKey);

	DWORD dwType;
	return RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE*)pData,&dwLength);
}
	

⌨️ 快捷键说明

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