📄 regkey.cpp
字号:
///////////////////////////////////////////////////////////////////////////////////////////
// 文件名:regkey.cpp
// 创建者:wangyun
// 创建时间:2000.6.21
// 内容描述:注册表类
///////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "RegKey.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRegKey::CRegKey()
{
m_hKey=NULL;
}
CRegKey::~CRegKey()
{
RegClose();
}
void CRegKey::RegClose()
{
if(m_hKey)
{
RegCloseKey (m_hKey);
m_hKey = NULL;
}
}
//打开
LONG CRegKey::RegOpen(HKEY hKeyRoot,LPCTSTR pszPath)
{
DWORD dw;
m_sPath = pszPath;
return RegCreateKeyEx(hKeyRoot,pszPath,0L,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&m_hKey,&dw);
}
//读注册表
LONG CRegKey::RegRead(LPCTSTR pszKey,BYTE *pData,DWORD &dwLength)
{
ASSERT(m_hKey);
ASSERT(pszKey);
DWORD dwType;
return RegQueryValueEx(m_hKey,(LPSTR)pszKey,NULL,&dwType,pData,&dwLength);
}
//读注册表
LONG CRegKey::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 CRegKey::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 CRegKey::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 CRegKey::RegWrite(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 CRegKey::RegWrite(LPCTSTR pszKey,DWORD dwVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);
return RegSetValueEx(m_hKey,pszKey,0L,REG_DWORD,(CONST BYTE *)&dwVal,sizeof(DWORD));
}
LONG CRegKey::RegDel(LPCTSTR lpSubKey)
{
ASSERT(m_hKey);
ASSERT(lpSubKey);
//return RegDeleteKey(m_hKey,lpSubKey);
return RegDeleteValue(m_hKey,lpSubKey);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -