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

📄 registe.cpp

📁 有空可以去看下哟,还可以
💻 CPP
字号:
#include "stdafx.h"
#include "registe.h" 
/////////////////////////////////////////////////////////////////////////////
// CMyRegKey
///////////////////////////////////////////////////////////////////////////// 

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

CMyRegKey:: ~CMyRegKey()
{
	RegClose();
} 
// 定义打开注册表的函数,RegOpen 函数带有两个参数:指定要访问注册表根结点的 HKEY, 以及注 
// 册表中信息的全路径。如果给入的路径不存在,则需创建一个新路径。从 RegCreateKeyEx API函数返
// 回的 HKEY 作为 m_hKey 存储。 

long CMyRegKey::RegOpen(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::RegClose()
{
	if(m_hKey)
	{
		RegCloseKey (m_hKey);
		m_hKey = NULL; 
	}
} 

long CMyRegKey::RegWrite(LPCTSTR pszKey,DWORD dwVal)
{ 
	ASSERT(m_hKey); 
	ASSERT(pszKey);
//	ASSERT(pData&&dwLength>0);
//	ASSERT(AfxIsValidAddress(pData,dwLength,FALSE)); 
	return RegSetValueEx(m_hKey,pszKey,0L,REG_DWORD,(CONST BYTE *)&dwVal,sizeof(DWORD));
} 

long CMyRegKey::RegWrite(LPCTSTR pszKey,LPCTSTR pszData)
{ 
	ASSERT(m_hKey);
	ASSERT(pszKey);
	ASSERT(pszData); 
//	ASSERT(pData&&dwLength>0);
	ASSERT(AfxIsValidAddress(pszData,strlen(pszData),FALSE)); 
	return RegSetValueEx(m_hKey,pszKey,0L,REG_SZ,(CONST BYTE *)pszData,strlen (pszData)+1); 
} 

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

long CMyRegKey::RegRead (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::RegRead (LPCTSTR pszKey,CString& sVal)
{ 
	ASSERT(m_hKey);
	ASSERT(pszKey); 
	DWORD dwType;
	DWORD dwSize = 200;
	char string[200]; 
	long IReturn = RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,(BYTE *)string,&dwSize); 
	if(IReturn==ERROR_SUCCESS) 
		sVal = string;
	return IReturn; 
} 

long CMyRegKey::RegRead (LPCTSTR pszKey,BYTE * pData,DWORD& dwLen)
{ 
	ASSERT(m_hKey);
	ASSERT(pszKey); 
	DWORD dwType;
	return RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,pData,&dwLen); 
} 

long CMyRegKey::RegDelKey(LPCTSTR pszKey)
{
	return RegDeleteKey(m_hKey,(LPSTR)pszKey);
}

long CMyRegKey::RegDelValue(LPCTSTR pszKey)
{
	return RegDeleteValue(m_hKey,(LPSTR)pszKey);
}

⌨️ 快捷键说明

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